1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Add support for Oem params (#7330)

* Add support for "Oem" parameters in the MultipartHTTPPushUpdate redfish_command

* Add doc entry

* Add changelog fragment
Add version_added field

* Re-word the changelog fragment

* After further testing this should not have a default definition as
it should not be in the payload if not defined
This commit is contained in:
Scott Seekamp 2023-10-02 13:46:29 -06:00 committed by GitHub
parent 92d7bd68e9
commit cd83b245bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 0 deletions

View file

@ -0,0 +1,2 @@
minor_changes:
- redfish_command - add new option ``update_oem_params`` for the ``MultipartHTTPPushUpdate`` command (https://github.com/ansible-collections/community.general/issues/7331).

View file

@ -1745,6 +1745,7 @@ class RedfishUtils(object):
image_file = update_opts.get('update_image_file') image_file = update_opts.get('update_image_file')
targets = update_opts.get('update_targets') targets = update_opts.get('update_targets')
apply_time = update_opts.get('update_apply_time') apply_time = update_opts.get('update_apply_time')
oem_params = update_opts.get('update_oem_params')
# Ensure the image file is provided # Ensure the image file is provided
if not image_file: if not image_file:
@ -1775,6 +1776,8 @@ class RedfishUtils(object):
payload["Targets"] = targets payload["Targets"] = targets
if apply_time: if apply_time:
payload["@Redfish.OperationApplyTime"] = apply_time payload["@Redfish.OperationApplyTime"] = apply_time
if oem_params:
payload["Oem"] = oem_params
multipart_payload = { multipart_payload = {
'UpdateParameters': {'content': json.dumps(payload), 'mime_type': 'application/json'}, 'UpdateParameters': {'content': json.dumps(payload), 'mime_type': 'application/json'},
'UpdateFile': {'filename': image_file, 'content': image_payload, 'mime_type': 'application/octet-stream'} 'UpdateFile': {'filename': image_file, 'content': image_payload, 'mime_type': 'application/octet-stream'}

View file

@ -203,6 +203,12 @@ options:
- InMaintenanceWindowOnReset - InMaintenanceWindowOnReset
- OnStartUpdateRequest - OnStartUpdateRequest
version_added: '6.1.0' version_added: '6.1.0'
update_oem_params:
required: false
description:
- Properties for HTTP Multipart Push Updates.
type: dict
version_added: '7.5.0'
update_handle: update_handle:
required: false required: false
description: description:
@ -601,6 +607,8 @@ EXAMPLES = '''
update_image_file: ~/images/myupdate.img update_image_file: ~/images/myupdate.img
update_targets: update_targets:
- /redfish/v1/UpdateService/FirmwareInventory/BMC - /redfish/v1/UpdateService/FirmwareInventory/BMC
update_oem_params:
PreserveConfiguration: false
- name: Perform requested operations to continue the update - name: Perform requested operations to continue the update
community.general.redfish_command: community.general.redfish_command:
@ -792,6 +800,7 @@ def main():
update_image_file=dict(type='path'), update_image_file=dict(type='path'),
update_protocol=dict(), update_protocol=dict(),
update_targets=dict(type='list', elements='str', default=[]), update_targets=dict(type='list', elements='str', default=[]),
update_oem_params=dict(type='dict'),
update_creds=dict( update_creds=dict(
type='dict', type='dict',
options=dict( options=dict(
@ -874,6 +883,7 @@ def main():
'update_targets': module.params['update_targets'], 'update_targets': module.params['update_targets'],
'update_creds': module.params['update_creds'], 'update_creds': module.params['update_creds'],
'update_apply_time': module.params['update_apply_time'], 'update_apply_time': module.params['update_apply_time'],
'update_oem_params': module.params['update_oem_params'],
'update_handle': module.params['update_handle'], 'update_handle': module.params['update_handle'],
} }