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-контроллеру. По умолчанию: |
username string | Имя пользователя для аутентификации с OOB-контроллером. |
virtual_media dictionary | Параметры для команд VirtualMedia. |
|
image_url string |
URL образа для вставки или извлечения. |
|
inserted boolean |
Указывает, рассматривается ли образ как вставленный после завершения команды. Варианты:
|
|
media_types list / elements=string |
Список типов носителей, подходящих для образа. По умолчанию: |
|
password string |
Пароль для доступа к URL образа. |
|
transfer_method string |
Метод передачи, используемый с образом. |
|
transfer_protocol_type string |
Сетевой протокол, используемый с образом. |
|
username string |
Имя пользователя для доступа к URL образа. |
|
write_protected boolean |
Указывает, рассматривается ли носитель как защищенный от записи. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: нет | Может работать в режиме |
diff_mode | Поддержка: нет | При использовании режима diff возвращает информацию о том, что изменилось (или, возможно, требует изменения в |
Примеры
- 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 строка | Сообщения, относящиеся к выполненным действиям. Возвращается: при ошибке или успешном выполнении действия/обновления Пример: |
redfish_facts словарь | Содержимое ресурса. Возвращается: когда command == GetResource или command == GetCollectionResource Пример: |
Ссылки на сборку
© 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