Модуль community.general.redfish_command — управление контроллерами внеполосного управления с помощью API Redfish
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.redfish_command.
Обзор
- Формирует URI Redfish локально и отправляет их на удалённые контроллеры внеполосного управления для выполнения действий.
- Управляет контроллером внеполосного управления, например перезагрузкой и ведением журналов.
- Управляет учётными записями пользователей контроллера внеполосного управления, например добавляет, удаляет и обновляет их.
- Управляет питанием системы, например включает и выключает её, выполняет штатную или принудительную перезагрузку.
Параметры
Параметр | Комментарии |
|---|---|
account_properties словарь добавлено в community.general 0.2.0 | Свойства службы учётных записей, которые нужно обновить. По умолчанию: |
account_types псевдонимы: account_accounttypes список / элементы=строка добавлено в community.general 7.2.0 | Массив типов учётных записей, применяемых к учётной записи пользователя. |
auth_token строка добавлено в community.general 2.3.0 | Токен безопасности для аутентификации на контроллере внеполосного управления. |
baseuri строка / обязательный | Базовый URI контроллера внеполосного управления. |
bios_attributes словарь добавлено в community.general 6.4.0 | Атрибуты BIOS, значения которых нужно проверить на указанном сервере. |
boot_next строка | Целевой объект BootNext, если для bootdevice задано значение “UefiBootNext”. |
boot_override_mode строка добавлено в community.general 3.5.0 | Режим загрузки при использовании переопределения. Варианты:
|
bootdevice строка | Устройство загрузки при настройке конфигурации загрузки. |
ca_path путь добавлено в community.general 10.6.0 | Файл в формате PEM, содержащий сертификат ЦС для проверки. Используется только, если |
category строка / обязательный | Категория для выполнения на контроллере внеполосного управления. |
ciphers список / элементы=строка добавлено в community.general 9.2.0 | Шифры TLS/SSL, используемые для запроса. Если указан список, все шифры объединяются по порядку с помощью Подробнее см. в описании формата списка шифров OpenSSL. Доступные шифры зависят от версий Python и OpenSSL/LibreSSL. |
command список / элементы=строка / обязательный | Список команд для выполнения на контроллере внеполосного управления. |
id псевдонимы: account_id строка | Идентификатор учётной записи для удаления или изменения. Также может использоваться при создании учётной записи для обхода проблем с реализацией у поставщика, когда идентификатор нового пользователя требуется в запросе POST. |
new_password псевдонимы: account_password строка | Новый пароль учётной записи для добавления или изменения. |
new_username псевдонимы: account_username строка | Имя пользователя учётной записи для добавления, удаления или изменения. |
oem_account_types псевдонимы: account_oemaccounttypes список / элементы=строка добавлено в community.general 7.2.0 | Массив типов учётных записей OEM, применяемых к учётной записи пользователя. |
password строка | Пароль для аутентификации на контроллере внеполосного управления. |
reset_to_defaults_mode строка добавлено в community.general 8.6.0 | Режим, применяемый при сбросе к значениям по умолчанию. Варианты:
|
resource_id строка добавлено в community.general 0.2.0 | Идентификатор системы, менеджера или шасси для изменения. |
roleid псевдонимы: account_roleid строка | Роль учётной записи для добавления или изменения. |
session_uri строка добавлено в community.general 2.3.0 | URI ресурса сеанса. |
strip_etag_quotes логическое значение добавлено в community.general 3.7.0 | Удаляет кавычки вокруг etag, используемого в заголовке Используйте этот параметр только для обхода некорректной реализации поставщика, при которой Варианты:
|
timeout целое число | Тайм-аут в секундах для HTTP-запросов к контроллеру внеполосного управления. В community.general 9.0.0 значение этого параметра по умолчанию изменено с По умолчанию: |
uefi_target строка | Целевой объект загрузки UEFI, если для bootdevice задано значение “UefiTarget”. |
update_apply_time строка добавлено в community.general 6.1.0 | Время применения обновления. Варианты:
|
update_creds словарь добавлено в community.general 0.2.0 | Учётные данные для получения образа обновления. |
|
password строка |
Пароль для получения образа обновления. |
|
username строка |
Имя пользователя для получения образа обновления. |
update_custom_oem_header строка добавлено в community.general 10.1.0 | Необязательный заголовок OEM, передаваемый отдельно как данные формы при отправке обновления через HTTP Multipart. Согласно спецификации DMTF Redfish 12.6.2.2, заголовок должен начинаться с “Oem”. Подробнее см. https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.21.0.html. Если параметр задан, необходимо также указать |
update_custom_oem_mime_type строка добавлено в community.general 10.1.0 | Тип MIME для пользовательских свойств OEM при отправке обновлений через HTTP Multipart Push. |
update_custom_oem_params любой добавлено в community.general 10.1.0 | Пользовательские свойства OEM для обновлений HTTP Multipart Push. Если параметр задан, необходимо также указать Свойства передаются без проверки или преобразования со стороны Ansible. Это означает, что содержимым может быть файл, строка или любые другие данные. Если содержимое представляет собой словарь, который нужно преобразовать в JSON, перед передачей в этот модуль его необходимо преобразовать в JSON с помощью фильтра ansible.builtin.to_json. |
update_handle строка добавлено в community.general 6.1.0 | Дескриптор для проверки состояния выполняющегося обновления. |
update_image_file путь добавлено в community.general 7.1.0 | Имя файла образа для обновления, при необходимости с путём. |
update_image_uri строка добавлено в community.general 0.2.0 | URI образа для обновления. |
update_oem_params словарь добавлено в community.general 7.5.0 | Свойства для обновлений HTTP Multipart Push. |
update_protocol строка добавлено в community.general 0.2.0 | Протокол для обновления. |
update_targets список / элементы=строка добавлено в community.general 0.2.0 | Список URI целевых ресурсов, к которым применяется обновление. По умолчанию: |
update_username псевдонимы: account_updatename строка добавлено в community.general 0.2.0 | Новое имя пользователя для обновления account_username. |
username строка | Имя пользователя для аутентификации на контроллере внеполосного управления. |
validate_certs логическое значение добавлено в community.general 10.6.0 | Если Установите значение Варианты:
|
virtual_media словарь добавлено в community.general 0.2.0 | Параметры команд VirtualMedia. |
|
image_url строка |
URL образа для подключения или извлечения. |
|
inserted логическое значение |
Указывает, что после выполнения команды образ считается подключённым. Варианты:
|
|
media_types список / элементы=строка |
Список типов носителей, подходящих для образа. По умолчанию: |
|
password строка |
Пароль для доступа к URL образа. |
|
transfer_method строка |
Метод передачи для использования с образом. |
|
transfer_protocol_type строка |
Сетевой протокол для использования с образом. |
|
username строка |
Имя пользователя для доступа к URL образа. |
|
write_protected логическое значение |
Указывает, что носитель считается защищённым от записи. Варианты:
|
wait логическое значение добавлено в community.general 9.1.0 | Ожидать, пока служба снова станет готова. Варианты:
|
wait_timeout целое число добавлено в community.general 9.1.0 | Максимальное время ожидания готовности службы, по истечении которого ожидание прекращается. По умолчанию: |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: нет | Может выполняться в |
diff_mode | Поддержка: нет | В режиме diff возвращает сведения об изменениях (или о том, что, возможно, нужно изменить в |
Примеры
- name: Restart system power gracefully
community.general.redfish_command:
category: Systems
command: PowerGracefulRestart
resource_id: 437XR1138R2
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Turn system power off
community.general.redfish_command:
category: Systems
command: PowerForceOff
resource_id: 437XR1138R2
- name: Restart system power forcefully
community.general.redfish_command:
category: Systems
command: PowerForceRestart
resource_id: 437XR1138R2
- name: Shutdown system power gracefully
community.general.redfish_command:
category: Systems
command: PowerGracefulShutdown
resource_id: 437XR1138R2
- name: Turn system power on
community.general.redfish_command:
category: Systems
command: PowerOn
resource_id: 437XR1138R2
- name: Reboot system power
community.general.redfish_command:
category: Systems
command: PowerReboot
resource_id: 437XR1138R2
- name: Set one-time boot device to {{ bootdevice }}
community.general.redfish_command:
category: Systems
command: SetOneTimeBoot
resource_id: 437XR1138R2
bootdevice: "{{ bootdevice }}"
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Set one-time boot device to UefiTarget of "/0x31/0x33/0x01/0x01"
community.general.redfish_command:
category: Systems
command: SetOneTimeBoot
resource_id: 437XR1138R2
bootdevice: "UefiTarget"
uefi_target: "/0x31/0x33/0x01/0x01"
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Set one-time boot device to BootNext target of "Boot0001"
community.general.redfish_command:
category: Systems
command: SetOneTimeBoot
resource_id: 437XR1138R2
bootdevice: "UefiBootNext"
boot_next: "Boot0001"
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Set persistent boot device override
community.general.redfish_command:
category: Systems
command: EnableContinuousBootOverride
resource_id: 437XR1138R2
bootdevice: "{{ bootdevice }}"
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Set one-time boot to BiosSetup
community.general.redfish_command:
category: Systems
command: SetOneTimeBoot
boot_next: BiosSetup
boot_override_mode: Legacy
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Disable persistent boot device override
community.general.redfish_command:
category: Systems
command: DisableBootOverride
- name: Set system indicator LED to blink using security token for auth
community.general.redfish_command:
category: Systems
command: IndicatorLedBlink
resource_id: 437XR1138R2
baseuri: "{{ baseuri }}"
auth_token: "{{ result.session.token }}"
- name: Add user
community.general.redfish_command:
category: Accounts
command: AddUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
new_username: "{{ new_username }}"
new_password: "{{ new_password }}"
roleid: "{{ roleid }}"
- name: Add user with specified account types
community.general.redfish_command:
category: Accounts
command: AddUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
new_username: "{{ new_username }}"
new_password: "{{ new_password }}"
roleid: "{{ roleid }}"
account_types:
- Redfish
- WebUI
- name: Add user using new option aliases
community.general.redfish_command:
category: Accounts
command: AddUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
account_password: "{{ account_password }}"
account_roleid: "{{ account_roleid }}"
- name: Delete user
community.general.redfish_command:
category: Accounts
command: DeleteUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
- name: Disable user
community.general.redfish_command:
category: Accounts
command: DisableUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
- name: Enable user
community.general.redfish_command:
category: Accounts
command: EnableUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
- name: Add and enable user
community.general.redfish_command:
category: Accounts
command: AddUser,EnableUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
new_username: "{{ new_username }}"
new_password: "{{ new_password }}"
roleid: "{{ roleid }}"
- name: Update user password
community.general.redfish_command:
category: Accounts
command: UpdateUserPassword
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
account_password: "{{ account_password }}"
- name: Update user role
community.general.redfish_command:
category: Accounts
command: UpdateUserRole
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
roleid: "{{ roleid }}"
- name: Update user name
community.general.redfish_command:
category: Accounts
command: UpdateUserName
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
account_updatename: "{{ account_updatename }}"
- name: Update user name
community.general.redfish_command:
category: Accounts
command: UpdateUserName
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
update_username: "{{ update_username }}"
- name: Update AccountService properties
community.general.redfish_command:
category: Accounts
command: UpdateAccountServiceProperties
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_properties:
AccountLockoutThreshold: 5
AccountLockoutDuration: 600
- name: Update user AccountTypes
community.general.redfish_command:
category: Accounts
command: UpdateUserAccountTypes
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
account_types:
- Redfish
- WebUI
- name: Clear Manager Logs with a timeout of 20 seconds
community.general.redfish_command:
category: Manager
command: ClearLogs
resource_id: BMC
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
timeout: 20
- name: Create session
community.general.redfish_command:
category: Sessions
command: CreateSession
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
register: result
- name: Set chassis indicator LED to blink using security token for auth
community.general.redfish_command:
category: Chassis
command: IndicatorLedBlink
resource_id: 1U
baseuri: "{{ baseuri }}"
auth_token: "{{ result.session.token }}"
- 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 }}"
- name: Clear Sessions
community.general.redfish_command:
category: Sessions
command: ClearSessions
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Simple update
community.general.redfish_command:
category: Update
command: SimpleUpdate
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
update_image_uri: https://example.com/myupdate.img
- name: Simple update with additional options
community.general.redfish_command:
category: Update
command: SimpleUpdate
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
update_image_uri: //example.com/myupdate.img
update_protocol: FTP
update_targets:
- /redfish/v1/UpdateService/FirmwareInventory/BMC
update_creds:
username: operator
password: supersecretpwd
- name: Multipart HTTP push update; timeout is 600 seconds to allow for a large image transfer
community.general.redfish_command:
category: Update
command: MultipartHTTPPushUpdate
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
timeout: 600
update_image_file: ~/images/myupdate.img
- name: Multipart HTTP push with additional options; timeout is 600 seconds to allow for a large image transfer
community.general.redfish_command:
category: Update
command: MultipartHTTPPushUpdate
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
timeout: 600
update_image_file: ~/images/myupdate.img
update_targets:
- /redfish/v1/UpdateService/FirmwareInventory/BMC
update_oem_params:
PreserveConfiguration: false
- name: Multipart HTTP push with custom OEM options
vars:
oem_payload:
ImageType: BMC
community.general.redfish_command:
category: Update
command: MultipartHTTPPushUpdate
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
update_image_file: ~/images/myupdate.img
update_targets:
- /redfish/v1/UpdateService/FirmwareInventory/BMC
update_custom_oem_header: OemParameters
update_custom_oem_mime_type: "application/json"
update_custom_oem_params: "{{ oem_payload | to_json }}"
- name: Perform requested operations to continue the update
community.general.redfish_command:
category: Update
command: PerformRequestedOperations
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
update_handle: /redfish/v1/TaskService/TaskMonitors/735
- name: Insert Virtual Media
community.general.redfish_command:
category: Systems
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: Insert Virtual Media
community.general.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: BMC
- name: Eject Virtual Media
community.general.redfish_command:
category: Systems
command: VirtualMediaEject
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
virtual_media:
image_url: 'http://example.com/images/SomeLinux-current.iso'
resource_id: 1
- name: Eject Virtual Media
community.general.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: BMC
- name: Restart manager power gracefully
community.general.redfish_command:
category: Manager
command: GracefulRestart
resource_id: BMC
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Restart manager power gracefully and wait for it to be available
community.general.redfish_command:
category: Manager
command: GracefulRestart
resource_id: BMC
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
wait: true
- name: Restart manager power gracefully
community.general.redfish_command:
category: Manager
command: PowerGracefulRestart
resource_id: BMC
- name: Turn manager power off
community.general.redfish_command:
category: Manager
command: PowerForceOff
resource_id: BMC
- name: Restart manager power forcefully
community.general.redfish_command:
category: Manager
command: PowerForceRestart
resource_id: BMC
- name: Shutdown manager power gracefully
community.general.redfish_command:
category: Manager
command: PowerGracefulShutdown
resource_id: BMC
- name: Turn manager power on
community.general.redfish_command:
category: Manager
command: PowerOn
resource_id: BMC
- name: Reboot manager power
community.general.redfish_command:
category: Manager
command: PowerReboot
resource_id: BMC
- name: Factory reset manager to defaults
community.general.redfish_command:
category: Manager
command: ResetToDefaults
resource_id: BMC
reset_to_defaults_mode: ResetAll
- name: Verify BIOS attributes
community.general.redfish_command:
category: Systems
command: VerifyBiosAttributes
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
bios_attributes:
SubNumaClustering: "Disabled"
WorkloadProfile: "Virtualization-MaxPerformance"
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
msg строка | Сообщение с результатом действия или описанием ошибки. Возвращается: всегда Пример: |
return_values словарь добавлено в community.general 6.1.0 | Словарь с данными ответа, относящимися к команде, полученными в результате действия. Возвращается: при успешном выполнении Пример: |
Ссылки коллекции
© 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/redfish_command_module.html