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" | Имя раздела в файле 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 boolean |
| Выполнять синхронизацию или удаление шаблона по зонам. Используется только если state присутствует или отсутствует. |
| details - | Детали шаблона в парах ключ-значение. | |
| display_text - | Текст для отображения шаблона. | |
| domain - | Домен, к которому относится шаблон, моментальный снимок или виртуальная машина. | |
| format - |
| Формат шаблона. Учитывается только если state=present. |
| hypervisor - |
| Имя гипервизора, который будет использоваться для создания нового шаблона. Актуально при использовании state=present. |
| is_dynamically_scalable boolean |
| Регистрация шаблона с установленным инструментом XS/VMWare для поддержки динамического масштабирования ЦП/памяти виртуальной машины. Используется только если state присутствует. |
| is_extractable boolean |
| Разрешает извлечение шаблона или его производных. |
| is_featured boolean |
| Регистрация шаблона для отображения. Используется только если state присутствует. |
| is_public boolean |
| Регистрация шаблона для публичного доступа всем пользователям. Используется только если state присутствует. |
| is_ready boolean |
| Примечание: этот флаг не был реализован и поэтому помечен как устаревший. Устарел, будет удалён в версии 2.11. |
| is_routing boolean |
| Устанавливает тип шаблона как маршрутизации, то есть если шаблон используется для развертывания маршрутизаторов. Учитывается только если используется url. |
| mode - |
| Режим извлечения шаблона. Используется только если state=extracted. |
| name - / обязательно | Имя шаблона. | |
| os_type - | Тип операционной системы, который лучше всего представляет операционную систему этого шаблона. | |
| password_enabled boolean |
| Включить поддержку сброса пароля шаблона. |
| poll_async boolean |
| Ожидать завершения асинхронных задач. |
| project - | Имя проекта, в котором должен быть зарегистрирован шаблон. | |
| requires_hvm boolean |
| Требуется ли для шаблона HVM. Учитывается только при создании шаблона. |
| snapshot - | Имя моментального снимка, созданного из корневого тома виртуальной машины, из которого будет создан шаблон. vm требуется вместе с этим аргументом. | |
| sshkey_enabled boolean |
| Истина, если шаблон поддерживает функцию загрузки ssh-ключа. Учитывается только если используется url (ограничение API). |
| state - |
| Состояние шаблона. |
| tags - добавлено в 2.4 | Список тегов. Теги — список словарей, содержащих ключи key и value. Для удаления всех тегов задайте пустой список, например, tags: []. псевдонимы: тег | |
| template_filter - |
| Имя фильтра, используемого для поиска шаблона. Фильтр all был добавлен в 2.7. |
| template_find_options - added in 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_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 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
local_action:
module: 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
local_action:
module: 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
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 строка | при состоянии=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 строка | при состоянии=extracted | Состояние извлечённого шаблона Пример: DOWNLOAD_URL_CREATED |
| status строка | успех | Состояние шаблона или извлеченного объекта. Пример: Загрузка завершена |
| tags словарь | если доступно | Список тегов ресурсов, связанных с шаблоном. Пример: [ { "key": "foo", "value": "bar" } ] |
| template_tag строка | если доступно | Тег шаблона, связанный с этим шаблоном. Пример: special |
| template_type строка | если доступно | Тип шаблона. Пример: USER |
| url строка | при состоянии=extracted | Ссылка, куда извлекается шаблон Пример: 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.7/modules/cs_template_module.html