Spec-Zone.ru › Ansible

Модуль community.general.xcc_redfish_command — управление контроллерами Lenovo Out-Of-Band с помощью API Redfish

Примечание

Этот модуль входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.general.

Чтобы использовать её в плейбуке, укажите: community.general.xcc_redfish_command.

Добавлено в community.general 2.4.0

  • Краткое описание
  • Параметры
  • Атрибуты
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Формирует URI Redfish локально и отправляет их удалённым контроллерам OOB для выполнения действия, получения информации или обновления атрибута конфигурации.
  • Управляет виртуальными носителями.
  • Поддерживает получение информации с помощью метода GET.
  • Поддерживает обновление атрибута конфигурации с помощью метода PATCH.
  • Поддерживает выполнение действия с помощью метода POST.

Параметры

Параметр

Комментарии

auth_token

string

Токен безопасности для аутентификации на контроллере OOB.

baseuri

string / обязательный

Базовый URI контроллера OOB.

ca_path

path

добавлено в community.general 10.6.0

Файл в формате PEM, содержащий сертификат CA для проверки.

Используется только при условии validate_certs=true.

category

string / обязательный

Категория для выполнения на контроллере OOB.

ciphers

list / элементы=string

добавлено в community.general 10.6.0

Шифры TLS/SSL, используемые для запроса.

Если указан список, все шифры объединяются по порядку с помощью :.

Подробнее см. в разделе Формат списка шифров OpenSSL.

Доступные шифры зависят от версий Python и OpenSSL/LibreSSL.

command

list / элементы=string / обязательный

Список команд для выполнения на контроллере OOB.

password

string

Пароль для аутентификации на контроллере OOB.

request_body

dictionary

Тело запроса для PATCH или POST.

resource_id

string

Идентификатор System, Manager или Chassis, который нужно изменить.

resource_uri

string

URI ресурса для получения, PATCH или POST.

timeout

integer

Время ожидания в секундах для запросов URL к контроллеру OOB.

По умолчанию: 10

username

string

Имя пользователя для аутентификации на контроллере OOB.

validate_certs

boolean

добавлено в community.general 10.6.0

Если false, сертификаты TLS/SSL не проверяются.

Установите значение true, чтобы включить проверку сертификатов. Следует использовать вместе с ca_path.

Варианты:

  • false ← (по умолчанию)
  • true

virtual_media

dictionary

Параметры команд VirtualMedia.

image_url

string

URL образа для подключения или извлечения.

inserted

boolean

Указывает, считается ли образ подключённым после завершения команды.

Варианты:

  • false
  • true ← (по умолчанию)

media_types

list / элементы=string

Список типов носителей, подходящих для образа.

По умолчанию: []

password

string

Пароль для доступа к URL образа.

transfer_method

string

Метод передачи, используемый для образа.

transfer_protocol_type

string

Сетевой протокол, используемый для образа.

username

string

Имя пользователя для доступа к URL образа.

write_protected

boolean

Указывает, считается ли носитель защищённым от записи.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: нет

Может работать в режиме check_mode и возвращать прогноз изменения статуса, не изменяя целевой объект.

diff_mode

Поддержка: нет

В режиме diff возвращает сведения о том, что изменилось (или, возможно, требует изменения в check_mode).

Примеры

- name: Insert Virtual Media
  community.general.xcc_redfish_command:
    category: Manager
    command: VirtualMediaInsert
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
    virtual_media:
      image_url: "http://example.com/images/SomeLinux-current.iso"
      media_types:
        - CD
        - DVD
    resource_id: "1"

- name: Eject Virtual Media
  community.general.xcc_redfish_command:
    category: Manager
    command: VirtualMediaEject
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
    virtual_media:
      image_url: "http://example.com/images/SomeLinux-current.iso"
    resource_id: "1"

- name: Eject all Virtual Media
  community.general.xcc_redfish_command:
    category: Manager
    command: VirtualMediaEject
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
    resource_id: "1"

- name: Get ComputeSystem Oem property SystemStatus via GetResource command
  community.general.xcc_redfish_command:
    category: Raw
    command: GetResource
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
    resource_uri: "/redfish/v1/Systems/1"
  register: result
- ansible.builtin.debug:
    msg: "{{ result.redfish_facts.data.Oem.Lenovo.SystemStatus }}"

- name: Get Oem DNS setting via GetResource command
  community.general.xcc_redfish_command:
    category: Raw
    command: GetResource
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
    resource_uri: "/redfish/v1/Managers/1/NetworkProtocol/Oem/Lenovo/DNS"
  register: result

- name: Print fetched information
  ansible.builtin.debug:
    msg: "{{ result.redfish_facts.data }}"

- name: Get Lenovo FoD key collection resource via GetCollectionResource command
  community.general.xcc_redfish_command:
    category: Raw
    command: GetCollectionResource
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
    resource_uri: "/redfish/v1/Managers/1/Oem/Lenovo/FoD/Keys"
  register: result

- name: Print fetched information
  ansible.builtin.debug:
    msg: "{{ result.redfish_facts.data_list }}"

- name: Update ComputeSystem property AssetTag via PatchResource command
  community.general.xcc_redfish_command:
    category: Raw
    command: PatchResource
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
    resource_uri: "/redfish/v1/Systems/1"
    request_body:
      AssetTag: "new_asset_tag"

- name: Perform BootToBIOSSetup action via PostResource command
  community.general.xcc_redfish_command:
    category: Raw
    command: PostResource
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
    resource_uri: "/redfish/v1/Systems/1/Actions/Oem/LenovoComputerSystem.BootToBIOSSetup"
    request_body: {}

- name: Perform SecureBoot.ResetKeys action via PostResource command
  community.general.xcc_redfish_command:
    category: Raw
    command: PostResource
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
    resource_uri: "/redfish/v1/Systems/1/SecureBoot/Actions/SecureBoot.ResetKeys"
    request_body:
      ResetKeysType: DeleteAllKeys

- name: Create session
  community.general.redfish_command:
    category: Sessions
    command: CreateSession
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
  register: result

- name: Update Manager DateTimeLocalOffset property using security token for auth
  community.general.xcc_redfish_command:
    category: Raw
    command: PatchResource
    baseuri: "{{ baseuri }}"
    auth_token: "{{ result.session.token }}"
    resource_uri: "/redfish/v1/Managers/1"
    request_body:
      DateTimeLocalOffset: "+08:00"

- name: Delete session using security token created by CreateSesssion above
  community.general.redfish_command:
    category: Sessions
    command: DeleteSession
    baseuri: "{{ baseuri }}"
    auth_token: "{{ result.session.token }}"
    session_uri: "{{ result.session.uri }}"

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

msg

string

Сообщение, связанное с выполненным действием или действиями.

Возвращается: при ошибке или успешном выполнении действия/обновления

Пример: "Action was successful"

redfish_facts

dictionary

Содержимое ресурса.

Возвращается: если command == GetResource или command == GetCollectionResource

Пример: {"redfish_facts": {"data": {"@odata.etag": "\"3179bf00d69f25a8b3c\"", "@odata.id": "/redfish/v1/Managers/1/NetworkProtocol/Oem/Lenovo/DNS", "@odata.type": "#LenovoDNS.v1_0_0.LenovoDNS", "DDNS": [{"DDNSEnable": true, "DomainName": "", "DomainNameSource": "DHCP"}], "DNSEnable": true, "Description": "This resource is used to represent a DNS resource for a Redfish implementation.", "IPv4Address1": "10.103.62.178", "IPv4Address2": "0.0.0.0", "IPv4Address3": "0.0.0.0", "IPv6Address1": "::", "IPv6Address2": "::", "IPv6Address3": "::", "Id": "LenovoDNS", "PreferredAddresstype": "IPv4"}, "ret": true}}

Авторы

  • Yuyan Pan (@panyy3)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/xcc_redfish_command_module.html

Spec-Zone.ru

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