Hi,
This is *not* how you should write Ansible code. For example, Ansible is a declarative language and you should use a native module group <https://docs.ansible.com/ansible/latest/group_module.html> which provides idempotence: - name: Ensure 'hadoop’ group exists group: name: hadoop state: present This way you don't have to check anything. The same task will either create a new group (status changed) or report that the group already exists (status ok). The state after executing will be the same: group hadoop is present. https://docs.ansible.com/ansible/latest/collections/ansible/builtin/group_module.html Unfortunately not every action you want to perform has been implemented as native modules, that's why command module exists. But it should be used as a last resort. What you are trying to achieve is possible using a custom python script, see references below; https://www.ibm.com/support/pages/ansible-support-ibm-i https://www.ibm.com/support/pages/mustgather-ansible-ibm-i https://github.com/IBM/ansible-for-i/blob/devel/plugins/modules/ibmi_at.py The point is because Ansible is idempotent you shouldn’t have to worry about skipping the play because if you have properly written your Ansible code, then it will have no effect it already exists, to skip a play in Ansible this is done using the conditional execution (when) see below for an example: https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_conditionals.html#the-when-statement --- - name: register status of /tmp/toolbox.tar.gz stat: path: /tmp/toolbox.tar.gz register: toolbox_path - name: install jetbrains toolbox # check if toolbox_path is a regular file when: "not toolbox_path.stat.exists" block: - name: download toolbox get_url: url: "https://download.jetbrains.com/toolbox/jetbrains-toolbox-{{ toolbox_version }}.tar.gz" dest: /tmp/toolbox.tar.gz - name: open toolbox unarchive: src: /tmp/toolbox.tar.gz dest: /opt/jetbrains-toolbox Regards, S.W R <[email protected]> wrote: > I want to include this create library task in playbooks that will run > against IBMi systems. However, the playbook fails if the library already > exists, and I need to know how to skip the command if the library is > already there. In a CL program I would use MONMSG, is there something > equivalent in Ansible? > > > > - Name: create library > > Ibmi_cl_command: > > Cmd: ‘CRTLIB LIB(libname)’ > > > > > > > > NOTICE: This electronic mail message and any files transmitted with it are > intended > exclusively for the individual or entity to which it is addressed. The > message, > together with any attachment, may contain confidential and/or privileged > information. > Any unauthorized review, use, printing, saving, copying, disclosure or > distribution > is strictly prohibited. If you have received this message in error, please > immediately advise the sender by reply email and delete all copies. > > -- > You received this message because you are subscribed to the Google Groups > "Ansible Project" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/DM6PR14MB4138EC4DD2ADC83BE4C31A01C3FF9%40DM6PR14MB4138.namprd14.prod.outlook.com > <https://groups.google.com/d/msgid/ansible-project/DM6PR14MB4138EC4DD2ADC83BE4C31A01C3FF9%40DM6PR14MB4138.namprd14.prod.outlook.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CAACV%3DNmcu6LE8oAv11Z-P5c7jT_2uCaNH5GtO7GhSNLMRf0JSg%40mail.gmail.com.
