I think this is right.
- Ansible can generate yaml files and run on it (both can be executed as
local_action ), which is the rough equivalent of the eval() function. - Ansible can create lists and iterate over them. Together with
include_role it opens the possibility of running arbitrary complex code in a loop (with conditions). - Together with the
until keyword, it allows you to create a classic while / until loop. block with a where statement allows branching. Even inside the loops.
In addition, playbook-related plugins are considered a valid way to expand the playlist, so they provide full python functions.
source share