Spec-Zone.ru › Ansible

community.general.xcc_redfish_command модуль – Управление контроллерами Lenovo Out-Of-Band с использованием API Redfish

Примечание

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

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

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

Для использования в playbook, укажите: community.general.xcc_redfish_command.

Новое в community.general 2.4.0

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

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

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

Параметры

Параметр

Комментарии

auth_token

string

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

baseuri

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

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

category

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

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

command

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

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

password

string

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

request_body

dictionary

Тело запроса для исправления или отправки.

resource_id

string

ID системы, менеджера или шасси для изменения.

resource_uri

string

URI ресурса для получения, исправления или отправки.

timeout

integer

Таймаут в секундах для URL-запросов к OOB-контроллеру.

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

username

string

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

virtual_media

dictionary

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

image_url

string

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

inserted

boolean

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

Варианты:

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

media_types

list / elements=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

строка

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

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

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

redfish_facts

словарь

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

Возвращается: когда 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/xcc_redfish_command_module.html

Spec-Zone.ru

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