ibmi_script – Execute a local cl/sql script file.
Synopsis
The
ibmi_script
plugin transfer a local cl/sql script file to a remote ibm i node and execute.Only support cl/sql script file by now.
For sql script, use RUNSQLSTM to process.
For non-cl/sql script, use the script plugin instead.
Parameters
- asp_group
Specifies the name of the auxiliary storage pool (ASP) group to set for the current thread.
The ASP group name is the name of the primary ASP device within the ASP group.
required: falsetype: str- become_user
The name of the user profile that the IBM i task will run under.
Use this option to set a user with desired privileges to run the task.
required: falsetype: str- become_user_password
Use this option to set the password of the user specified in
become_user
.required: falsetype: str- parameters
The parameters that RUNSQLSTM command will take. All other parameters need to be specified here.
The default values of parameters for RUNSQLSTM will be taken if not specified.
Only works for sql script.
required: falsetype: strdefault:- severity_level
When run sql script, specifies whether the processing is successful, based on the severity of the messages generated by the processing of the SQL statements.
If errors that are greater than the value specified for this parameter occur during processing, no more statements are run and the statements are rolled back if they are running under commitment control.
Only works for sql script.
required: falsetype: intdefault: 10- src
Script file path on control node.
The path can be absolute or relative.
required: Truetype: str- type
Specify the script file type.
Only support
CL
orSQL
script by now.required: Truetype: strchoices: CL, SQL
Examples
- name: Execute test.cl on a remote IBM i node with become user.
ibm.power_ibmi.ibmi_script:
src: '/tmp/test.cl'
type: 'CL'
become_user: 'USER1'
become_user_password: 'yourpassword'
- name: Execute testsql.sql on a remote IBM i node.
ibm.power_ibmi.ibmi_script:
src: '/home/testsql.sql'
type: 'SQL'
severity_level: 40
parameters: 'DATFMT(*USA)'
Notes
Note
ansible.cfg needs to specify interpreter_python=/QOpenSys/pkgs/bin/python3 under[defaults] section
For cl script, the command supports line breaks.
When a command ends, add ‘:’ at the end of each command or empty the next line.
Otherwise program will not consider it is the end of a command.
Return Values
- delta
The execution delta time.returned: alwaystype: strsample: 0:00:00.307534- stdout
The standard output.returned: alwaystype: strsample: Successfully execute script file /tmp/test.cl- stderr
The standard error.returned: alwaystype: strsample: Execute command crtlib testlib failed.- rc
The action return code. 0 means success.returned: alwaystype: intsample: 255- stdout_lines
The standard output split in lines.returned: alwaystype: listsample:["Successfully execute script file /tmp/test.cl"]- stderr_lines
The standard error split in lines.returned: alwaystype: listsample:["Execute command crtlib testlib failed."]- job_log
The IBM i job log of the task executed.returned: alwaystype: listsample:[{"FROM_INSTRUCTION": "149", "FROM_LIBRARY": "QSHELL", "FROM_MODULE": "QZSHRUNC", "FROM_PROCEDURE": "main", "FROM_PROGRAM": "QZSHRUNC", "FROM_USER": "TESTER", "MESSAGE_FILE": "QZSHMSGF", "MESSAGE_ID": "QSH0005", "MESSAGE_LIBRARY": "QSHELL", "MESSAGE_SECOND_LEVEL_TEXT": "", "MESSAGE_SUBTYPE": "", "MESSAGE_TEXT": "Command ended normally with exit status 0.", "MESSAGE_TIMESTAMP": "2020-05-27-16.17.43.738571", "MESSAGE_TYPE": "COMPLETION", "ORDINAL_POSITION": "13", "SEVERITY": "0", "TO_INSTRUCTION": "5829", "TO_LIBRARY": "QXMLSERV", "TO_MODULE": "PLUGILE", "TO_PROCEDURE": "ILECMDEXC", "TO_PROGRAM": "XMLSTOREDP"}]