dellemc.openmanage.ome_template – Создание, изменение, развертывание, удаление, экспорт, импорт и клонирование шаблона в OpenManage Enterprise
Примечание
Этот плагин является частью коллекции dellemc.openmanage (версия 3.0.0).
Для его установки используйте: ansible-galaxy collection install dellemc.openmanage.
Для использования в книге задач укажите: dellemc.openmanage.ome_template.
Новое в версии 2.0.0: модуля dellemc.openmanage
Обзор
- Этот модуль создает, изменяет, развертывает, удаляет, экспортирует, импортирует и клонирует шаблон в OpenManage Enterprise.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.7.5
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes словарь | Значение по умолчанию: {} | Данные полезной нагрузки для операций с шаблоном. Все переменные в этом параметре добавляются в полезную нагрузку для операций create, modify, deploy, import, и clone. Он принимает следующие атрибуты.Атрибуты: Список словарей атрибутов (если таковые имеются) для изменения в шаблоне развертывания. Применимо, когда команда равна deploy и при C(модификации).Имя: Имя шаблона. Обязательно, когда команда равна create, import, clone, и необязательно, когда команда равна modify.Описание: Описание шаблона. Применимо, когда команда равна create или modify.Fqdds: Это позволяет создать шаблон, используя компоненты со указанного сервера-справочника. Один или несколько из следующих значений должны быть указаны в строке, разделенной запятыми: iDRAC, System, BIOS, NIC, LifeCycleController, RAID и EventFilters. Если ни одно из значений не указано, по умолчанию выбирается значение «Все». Применимо, когда команда (I) равна create.Параметры: Параметры для управления выключением устройства или конечным состоянием питания после развертывания шаблона. Применимо для операции deploy.Расписание: Предоставляет варианты для планирования задачи развертывания немедленно или в определенное время. Применимо, когда команда равна deploy.NetworkBootIsoModel: Данные полезной нагрузки для указания деталей развертывания ISO. Применимо, когда команда равна deploy.Содержание: XML-содержание шаблона. Применимо, когда команда равна import.Тип: Идентификатор типа шаблона, указывающий тип устройства, для которого поддерживается конфигурация, например, шасси и серверы. Применимо, когда команда равна import.TypeId: Идентификатор типа шаблона, указывающий тип устройства, для которого поддерживается конфигурация, например, шасси и серверы. Применимо, когда команда равна create.Для получения более подробной информации см. Справочник по API OpenManage Enterprise. |
| command строка |
| create создает новый шаблон.modify изменяет существующий шаблон.deploy создаёт задачу развертывания шаблона.delete удаляет существующий шаблон.export экспортирует существующий шаблон.import создаёт шаблон из указанного конфигурационного текста в формате SCP XML.clone создаёт клон существующего шаблона.псевдонимы: состояние |
| device_id список / элементы=целое число | Значение по умолчанию: [] | Укажите список целевых идентификаторов устройства(ей), когда команда равна deploy. Когда команда (I) равна create, укажите идентификатор одного устройства.Требуется либо device_id, либо device_service_tag, или оба. |
| device_service_tag список / элементы=строка | Значение по умолчанию: [] | Укажите список целевых тегов службы устройства, когда команда (I) равна deploy. Когда команда равна create, укажите тег службы одного устройства.Требуется либо device_id, либо device_service_tag, или оба. |
| hostname строка / обязательно | Целевой IP-адрес или имя хоста. | |
| password строка / обязательно | Пароль целевого пользователя. | |
| port целое число | Значение по умолчанию: 443 | Целевой порт HTTPS. |
| template_id целое число | Идентификатор существующего шаблона. Этот параметр применим, когда команда равна modify, deploy, delete и export.Этот параметр исключает template_name. | |
| template_name строка | Имя существующего шаблона. Этот параметр применим, когда команда равна modify, deploy, delete и export.Этот параметр исключает template_id. |
| template_view_type string |
| Выберите тип представления шаблона OME. Это применимо, когда command равно create,clone и import. |
| username string / required | Имя целевого пользователя. |
Примечания
Примечание
- Запустите этот модуль с системы, имеющей прямой доступ к DellEMC OpenManage Enterprise.
- Этот модуль не поддерживает
check_mode.
Примеры
---
- name: Create a template from a reference device
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
device_id: 25123
attributes:
Name: "New Template"
Description: "New Template description"
- name: Modify template name, description, and attribute value
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "modify"
template_id: 12
attributes:
Name: "New Custom Template"
Description: "Custom Template Description"
# Attributes to be modified in the template.
# For information on any attribute id, use API /TemplateService/Templates(Id)/Views(Id)/AttributeViewDetails
# This section is optional
Attributes:
- Id: 1234
Value: "Test Attribute"
IsIgnored: false
- name: Deploy template on multiple devices
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "deploy"
template_id: 12
device_id:
- 12765
- 10173
device_service_tag:
- 'SVTG123'
- 'SVTG456'
- name: Deploy template on multiple devices along with the attributes values to be modified on the target devices
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "deploy"
template_id: 12
device_id:
- 12765
- 10173
device_service_tag:
- 'SVTG123'
attributes:
# Device specific attributes to be modified during deployment.
# For information on any attribute id, use API /TemplateService/Templates(Id)/Views(Id)/AttributeViewDetails
# This section is optional
Attributes:
# specific device where attribute to be modified at deployment run-time.
# The DeviceId should be mentioned above in the 'device_id' section.
# Service tags not allowed.
- DeviceId: 12765
Attributes:
- Id : 15645
Value : "0.0.0.0"
IsIgnored : false
- DeviceId: 10173
Attributes:
- Id : 18968,
Value : "hostname-1"
IsIgnored : false
- name: Deploy template and Operating System (OS) on multiple devices
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "deploy"
template_id: 12
device_id:
- 12765
device_service_tag:
- 'SVTG123'
attributes:
# Include this to install OS on the devices.
# This section is optional
NetworkBootIsoModel:
BootToNetwork: true
ShareType: "NFS"
IsoTimeout: 1 # allowable values(1,2,4,8,16) in hours
IsoPath: "/home/iso_path/filename.iso"
ShareDetail:
IpAddress: "192.168.0.2"
ShareName: "sharename"
User: "share_user"
Password: "share_password"
Options:
EndHostPowerState: 1
ShutdownType: 0
TimeToWaitBeforeShutdown: 300
Schedule:
RunLater: true
RunNow: false
- name: "Deploy template on multiple devices and changes the device-level attributes. After the template is deployed,
install OS using its image"
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "deploy"
template_id: 12
device_id:
- 12765
- 10173
device_service_tag:
- 'SVTG123'
- 'SVTG456'
attributes:
Attributes:
- DeviceId: 12765
Attributes:
- Id : 15645
Value : "0.0.0.0"
IsIgnored : false
- DeviceId: 10173
Attributes:
- Id : 18968,
Value : "hostname-1"
IsIgnored : false
NetworkBootIsoModel:
BootToNetwork: true
ShareType: "NFS"
IsoTimeout: 1 # allowable values(1,2,4,8,16) in hours
IsoPath: "/home/iso_path/filename.iso"
ShareDetail:
IpAddress: "192.168.0.2"
ShareName: "sharename"
User: "share_user"
Password: "share_password"
Options:
EndHostPowerState: 1
ShutdownType: 0
TimeToWaitBeforeShutdown: 300
Schedule:
RunLater: true
RunNow: false
- name: Delete template
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "delete"
template_id: 12
- name: Export a template
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "export"
template_id: 12
# Start of example to export template to a local xml file
- name: Export template to a local xml file
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "export"
template_name: "my_template"
register: result
- name: Save template into a file
ansible.builtin.copy:
content: "{{ result.Content}}"
dest: "/path/to/exported_template.xml"
# End of example to export template to a local xml file
- name: Clone a template
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "clone"
template_id: 12
attributes:
Name: "New Cloned Template Name"
- name: Import template from XML content
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "import"
attributes:
Name: "Imported Template Name"
# Template Type from TemplateService/TemplateTypes
Type: 2
# xml string content
Content: "<SystemConfiguration Model=\"PowerEdge R940\" ServiceTag=\"SVCTAG1\"
TimeStamp=\"Tue Sep 24 09:20:57.872551 2019\">\n<Component FQDD=\"AHCI.Slot.6-1\">\n<Attribute
Name=\"RAIDresetConfig\">True</Attribute>\n<Attribute Name=\"RAIDforeignConfig\">Clear</Attribute>\n
</Component>\n<Component FQDD=\"Disk.Direct.0-0:AHCI.Slot.6-1\">\n<Attribute Name=\"RAIDPDState\">Ready
</Attribute>\n<Attribute Name=\"RAIDHotSpareStatus\">No</Attribute>\n</Component>\n
<Component FQDD=\"Disk.Direct.1-1:AHCI.Slot.6-1\">\n<Attribute Name=\"RAIDPDState\">Ready</Attribute>\n
<Attribute Name=\"RAIDHotSpareStatus\">No</Attribute>\n</Component>\n</SystemConfiguration>\n"
- name: Import template from local XML file
dellemc.openmanage.ome_template:
hostname: "192.168.0.1"
username: "username"
password: "password"
command: "import"
attributes:
Name: "Imported Template Name"
Type: 2
Content: "{{ lookup('ansible.builtin.file.', '/path/to/xmlfile') }}"
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| Content string | success, когда command равно export
| XML-содержимое экспортированного шаблона. Это содержимое может быть записано в файл xml. Пример: <SystemConfiguration Model="PowerEdge R940" ServiceTag="DG22TR2" TimeStamp="Tue Sep 24 09:20:57.872551 2019"> <Component FQDD="AHCI.Slot.6-1"> <Attribute Name="RAIDresetConfig">True</Attribute> <Attribute Name="RAIDforeignConfig">Clear</Attribute> </Component> <Component FQDD="Disk.Direct.0-0:AHCI.Slot.6-1"> <Attribute Name="RAIDPDState">Ready</Attribute> <Attribute Name="RAIDHotSpareStatus">No</Attribute> </Component> <Component FQDD="Disk.Direct.1-1:AHCI.Slot.6-1"> <Attribute Name="RAIDPDState">Ready </Attribute> <Attribute Name="RAIDHotSpareStatus">No</Attribute> </Component> </SystemConfiguration> |
| error_info dictionary | при ошибке HTTP | Подробности ошибки HTTP. Пример: {'error': {'@Message.ExtendedInfo': [{'Message': 'Не удалось обработать запрос из-за возникшей ошибки.', 'MessageArgs': [], 'MessageId': 'GEN1234', 'RelatedProperties': [], 'Resolution': 'Повторите операцию. Если проблема сохранится, обратитесь к системному администратору.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'Произошла общая ошибка. Подробнее см. в ExtendedInfo.'}} |
| msg string | всегда | Общий статус операции с шаблоном. Пример: Шаблон успешно создан с идентификатором 23 |
| return_id integer | success, когда command равно create, modify, import, clone и deploy
| Идентификатор шаблона для create, modify, import и clone или задача, созданная в случае deploy.Пример: 12 |
| TemplateId integer | success, когда command равно export
| Идентификатор шаблона для export.Пример: 13 |
Авторы
- Jagadeesh N V (@jagadeeshnv)
© 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/dellemc/openmanage/ome_template_module.html