ibmi_download_fix_from_cloud – Download fix using the cloud API to Electronic Fix Delivery (EFD).
Synopsis
The
ibmi_download_fix_from_cloudmodule downloads fixes using a cloud API to Electronic Fix Delivery (EFD). This allows fixes to be downloaded to a Linux server for those environments where it is not possible to download to an IBM i server, e.g., due to network restrictions. Users should continue to use module ibmi_download_fix (based on the SNDPTFORD CL command) for downloading fixes to an IBM i server.Only individual PTFs can be downloaded due to current cloud API limitations.
Individual PTFs are only provided in save files due to current cloud API limitations.
The downloaded save files and cover letters will have sym links created in the download directory to follow naming protocols for these files on the IBM i server in the QGPL library. The PTF file link is “Q<ptf_id>.FILE” and the cover letter file link is “Q<pfd_id>.MBR”.
Future support will include virtual images for PTFS, PTF groups, and cumulative PTF packages.
Parameters
- clean_directory
Clean out contents of specified directory prior to download.
required: Falsetype: bool- credentials
Machine credentials used to validate entitlement for the requested fix.
Includes fields for ‘machine_model’, ‘machine_type’, ‘serial_number’, and ‘country’. This information can be determined from the ibmi_facts module output.
required: Truetype: dict- directory
Directory to download the fix files to. The directory is created if it does not already exist. The full or absolute directory path must be specified.
required: Truetype: str- include_requisites
Specifies if requisite PTFs should be included with the ordered PTFs.
required: Falsetype: bool- operation
The various operations include
Download the fix (includes validating fix entitlement based on the provided credentials).
Validate machine entitlement for the fix based on credentials provided. No download occurs.
Preview the fix. Useful for viewing the pre/co-requisite fixes. No download occurs.
required: Falsetype: strdefault: downloadchoices: download, validate, preview- ptf_id
Specify the identifier of the PTF information being ordered.
required: Truetype: str- time_out
The max time that the module waits for the download to complete.
The unit can be ‘s’, ‘m’, ‘h’, ‘d’ and ‘w’.
Future parameter to enforce. Currently we only enforce the recommended 2 minute timeout for cloud API handshake and do not time out for the PTF image download, but we plan to incorporate an enforced time out that factors in the image download time in a future release.
required: Falsetype: strdefault: 15m
Examples
- name: Download an individual PTF
ibm.power_ibmi.ibmi_download_fix_from_cloud:
ptf_id: 'SJ08024'
credentials: {
'machine_model': 'HEX',
'machine_type': '9080',
'serial_number': 'XXXXXXX',
'country': 'US'
}
directory: "~/PTFs/SJ08024"
include_requisites: False
Return Values
- delta
The module execution delta time.returned: alwaystype: strsample: 0:00:00.307534- stdout
The last command standard output.returned: alwaystype: str- stderr
The last command standard error.returned: alwaystype: str- cmd
The last command executed.returned: alwaystype: str- rc
The last command return code. 0 means success.returned: alwaystype: int- entitlement_verified
Returns whether the software entitlement for the fix is verified with the provided machine credentials. Returns true if the machine has authorized access to the software fix. This is only applicable for the validation and download operations where credential checking occurs.returned: always (however, the result is not applicable to the preview operation)type: boolsample:true- msg
The execution message.returned: always.type: str- updates
Updates recieved from EFD portal after sending the payload. Includes information on the fixes with the preview operation. Includes information on the downloaded files with the the download operation. Provided in JSON format (list of dictionaries).returned: alwaystype: listsample:[{"applies_to_version": "V7R6M0", "description": "JDK 80-32 SR8 FP55 IBM Technology for Java", "files": [{"description": "DeploymentDescriptor", "descriptor": "metadata/deployment-descriptor.fix", "hash": "E4AMkam85CBpdYpmhtZra5h3BEagg7UVtuchaGI+YA8=", "hashAlgorithm": "SHA-256", "size": 4924, "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-bld/sar/CMA/ISA/0dmyw/0/SJ08024.dd.xml", "url_type": "edge", "urls": [{"type": "edge", "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-bld/sar/CMA/ISA/0dmyw/0/SJ08024.dd.xml"}, {"type": "edge", "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-mul/sar/CMA/ISA/0dmyw/0/SJ08024.dd.xml"}, {"type": "edge", "url": "https://delivery04.mul.dhe.ibm.com/sar/CMA/ISA/0dmyw/0/SJ08024.dd.xml"}]}, {"description": "PackageDescriptor", "descriptor": "metadata/package-descriptor.fix", "hash": "f2ItcEw3a2jlihlfM+wIPwy/667DNPZ6fxZTHhNg/cw=", "hashAlgorithm": "SHA-256", "size": 2209, "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-bld/sar/CMA/ISA/0dmyw/0/SJ08024.pd.sdd", "url_type": "edge", "urls": [{"type": "edge", "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-bld/sar/CMA/ISA/0dmyw/0/SJ08024.pd.sdd"}, {"type": "edge", "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-mul/sar/CMA/ISA/0dmyw/0/SJ08024.pd.sdd"}, {"type": "edge", "url": "https://delivery04.mul.dhe.ibm.com/sar/CMA/ISA/0dmyw/0/SJ08024.pd.sdd"}]}, {"description": "Savefile", "descriptor": "data/installable-unit.fix", "hash": "tGjPjB+eW0UtF8hA57Epcpd3M4qOn6V/yXiPU1H+Yn4=", "hashAlgorithm": "SHA-256", "size": 149526432, "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-bld/sar/CMA/ISA/0dmyw/0/SJ08024.savf", "url_type": "edge", "urls": [{"type": "edge", "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-bld/sar/CMA/ISA/0dmyw/0/SJ08024.savf"}, {"type": "edge", "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-mul/sar/CMA/ISA/0dmyw/0/SJ08024.savf"}, {"type": "edge", "url": "https://delivery04.mul.dhe.ibm.com/sar/CMA/ISA/0dmyw/0/SJ08024.savf"}]}, {"description": "Upper Case Coverletter", "descriptor": "metadata/readme.fix", "hash": "8FdiMKzxqyceo2WAVaXsNQBMVouacyV4KsJxMJOnxbk=", "hashAlgorithm": "SHA-256", "size": 9440, "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-bld/sar/CMA/ISA/0dmyw/0/SJ08024.50.txt", "url_type": "edge", "urls": [{"type": "edge", "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-bld/sar/CMA/ISA/0dmyw/0/SJ08024.50.txt"}, {"type": "edge", "url": "https://esupport.ibm.com/eccedge/fix/dhe/delivery04-mul/sar/CMA/ISA/0dmyw/0/SJ08024.50.txt"}, {"type": "edge", "url": "https://delivery04.mul.dhe.ibm.com/sar/CMA/ISA/0dmyw/0/SJ08024.50.txt"}]}], "id": "SJ08024", "name": "SJ08024", "release_date": "2025-12-29T16:44:39.000Z", "status": "available", "type": "interim fix", "upgrades_to_version": "V7R6M0"}]- download_list
The successful downloaded fix list including a dictionary entry for each PTF.returned: alwaystype: listsample:[{"file_name": "QSJ08213.FILE", "file_path": "/home/gjertsen/ansible/ptf_repo/SJ08213/", "product": "5770JV1", "ptf_id": "SJ08213", "release": "V7R6M0"}]