Spec-Zone.ru › Ansible 2.11

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
    Choices:
  • Развертывание ←
  • Соответствие
  • Инвентаризация
  • Образец
  • Нет
Выберите тип представления шаблона 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API