Ansible offers many filters and conditionals. As far as I can tell; it should be possible to implement an Ansible playbook that executes a set of tasks that achieve the same outcome as a Turing Complete language. So, is it Turing Complete?
I think it is.
local_action
), which is a rough equivalent of eval()
function.include_role
it opens ability to run arbitrary complex code within loop (with conditions).until
keyword it allows to create classic while/until loop.block
with where
statement allows branching. Even within loops.Moreover, playbook-related plugins are counted as a valid way to extend playbook, therefore they provide full python features.