cs_template – Управляет шаблонами на облаках Apache CloudStack
Новая в версии 2.0.
Описание
- Регистрация шаблонов из URL.
- Создание шаблонов из корневого тома остановленной виртуальной машины или её снимка.
- Обновление (с версии 2.7), извлечение и удаление шаблонов.
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, на котором выполняется этот модуль.
- 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 целое число |
| Поддержка 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, чтобы поддерживать динамическое масштабирование ЦП/памяти VM. Используется только если state равно present. |
| is_extractable логическое значение |
| Разрешает извлечение шаблона или его производных. |
| is_featured логическое значение |
| Зарегистрировать шаблон для отображения. Используется только если state равно present. |
| is_public логическое значение |
| Зарегистрировать шаблон, который будет доступен всем пользователям. Используется только если state равно present. |
| is_ready логическое значение |
| Примечание: этот флаг не был реализован и поэтому помечен как устаревший. Устаревший, будет удален в версии 2.11. |
| is_routing логическое значение |
| Устанавливает тип шаблона как маршрутизируемый, т.е. если шаблон используется для развертывания маршрутизаторов. Учитывается только если используется url. |
| mode строка |
| Режим извлечения шаблона. Используется только если state=extracted. |
| name строка / обязательно | Имя шаблона. | |
| os_type строка | Тип ОС, наилучшим образом представляющий ОС этого шаблона. | |
| password_enabled логическое значение |
| Включить поддержку сброса пароля шаблона. |
| poll_async логическое значение |
| Проверить асинхронные задачи до завершения. |
| project строка | Имя проекта, в котором будет зарегистрирован шаблон. | |
| requires_hvm логическое значение |
| Требуется HVM или нет. Учитывается только при создании шаблона. |
| snapshot строка | Имя снимка, созданного из корневого тома VM, из которого будет создан шаблон.
vm требуется вместе с этим аргументом. | |
| sshkey_enabled логическое значение |
| Истина, если шаблон поддерживает функцию загрузки ключа ssh. Учитывается только если используется url (ограничение API). |
| state строка |
| Состояние шаблона. |
| tags список добавлено в 2.4 | Список тегов. Теги — список словарей с ключами key и value. Для удаления всех тегов установите пустой список, например, tags: []. псевдонимы: тег | |
| template_filter строка |
| Имя фильтра, используемого для поиска шаблона. Фильтр all был добавлен в 2.7. |
| template_find_options список добавлено в 2.7 |
[] | Параметры для уникальной идентификации шаблона. Допускается несколько значений. псевдонимы: template_find_option |
| 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
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)
delegate_to: localhost
- name: Create a template from a stopped virtual machine's volume
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
delegate_to: localhost
# Note: Use template_find_option(s) when a template name is not unique
- name: Create a template from a stopped virtual machine's volume
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
delegate_to: localhost
- name: create a template from a virtual machine's root volume snapshot
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
delegate_to: localhost
- name: Remove a template
cs_template:
name: systemvm-4.2
cross_zones: yes
state: absent
delegate_to: localhost
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| 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 строка | в состоянии state=extracted | Режим извлечения Пример: http_download |
| name строка | успех | Имя шаблона или извлеченного объекта. Пример: Debian 7 64-bit |
| os_type строка | если доступно | Тип ОС. Пример: CentOS 6.5 (64-bit) |
| password_enabled логическое значение | если доступно | True, если функция сброса пароля включена, иначе false. |
| project строка | успех | Имя проекта, к которому относится шаблон. Пример: Production |
| sshkey_enabled логическое значение | если доступно | true, если для шаблона включена sshkey, иначе 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 |
Статус
- Этот модуль гарантированно не будет иметь обратной несовместимости в будущих изменениях. [stableinterface]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.8/modules/cs_template_module.html