Hi,
For the Ansible Power collection modules for IBM i, I would rather see that the existing modules gets a refresh before adding new modules/functions.
What I feel is lacking for the existing modules:
Many of the ibm.power_ibmi.ibmi_* modules is not idempotent, they will fail if the state is already the prefered state. The goal for Ansible modules is to have desired state and 'idempotency': https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_intro.html
As of now you have to check the state before you make the action or use ignore_errors: true
Some of the modules does not provide any added value than using the native CL command with the ibm.power_ibmi.ibmi_cl_command module, for example:
ibm.power_ibmi.ibmi_start_subsystem
ibm.power_ibmi.ibmi_end_subsystem
ibm.power_ibmi.ibmi_tcp_server_service
ibm.power_ibmi.ibmi_start_subsystem and ibm.power_ibmi.ibmi_end_subsystem: There is no reason to have two separate modules, they should be migrated to a common ibm.power_ibmi.ibmi_subsystem module and use idempotency and also have the option to monitor for when all jobs and the subsystem are ended. Restart option would also be nice.
ibm.power_ibmi.ibmi_tcp_server_service: You can't specify instances for *HTTP, *IAS. This module should also have a restart option, so you could specify that a service should be restarted.
ibm.power_ibmi.ibmi_sql_execute is lacking an option to set SQL options, it will fail if I try to change a non journaled file/table. There should be a parameter where you can set SQL options.
ibm.power_ibmi.ibmi_cl_command needs a parameter to set the same thing as you can do with the CHGJOB command, you may want to set a different library list or current library etc, before you execute the command.
This is just a few suggestions.
------------------------------
Krister Karlsson
------------------------------