--- - name: tear down old users if they exist (Setup) ios_user: aggregate: - name: ansibletest1 - name: ansibletest2 - name: ansibletest3 state: absent provider: "{{ cli }}" - name: Create user (SetUp) ios_user: name: ansibletest1 privilege: 15 role: network-operator state: present provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' - 'result.commands == ["username ansibletest1 view network-operator", "username ansibletest1 privilege 15"]' - name: Collection of users (SetUp) ios_user: aggregate: - name: ansibletest2 - name: ansibletest3 provider: "{{ cli }}" state: present view: network-admin register: result - assert: that: - 'result.changed == true' - 'result.commands == ["username ansibletest2 view network-admin", "username ansibletest3 view network-admin"]' - name: Add user again (Idempotent) ios_user: name: ansibletest1 privilege: 15 role: network-operator state: present provider: "{{ cli }}" register: result - assert: that: - 'result.changed == false' - 'result.commands | length == 0' - name: Add collection of users again (Idempotent) ios_user: aggregate: - name: ansibletest2 - name: ansibletest3 provider: "{{ cli }}" state: present view: network-admin register: result - assert: that: - 'result.changed == false' - 'result.commands | length == 0' - name: tearDown ios_user: aggregate: - name: ansibletest1 - name: ansibletest2 - name: ansibletest3 state: absent provider: "{{ cli }}" register: result - assert: that: - 'result.changed == true' - '"no username ansibletest1" in result.commands[0]["command"]' - '"no username ansibletest2" in result.commands[1]["command"]' - '"no username ansibletest3" in result.commands[2]["command"]'