Ansible 图灵完备了吗?

Is Ansible Turing Complete?

Ansible 提供了许多过滤器和条件。据我所知;应该可以实现一个 Ansible 剧本,该剧本执行一组任务,实现与图灵完备语言相同的结果。那么,它是图灵完备的吗?

我认为是。

  1. Ansible 可以生成 yaml 文件和 运行 本身(两者都可以作为 local_action 完成),这大致相当于 eval() 函数。
  2. Ansible 可以创建列表并迭代它们。与 include_role 一起,它打开了 运行 循环内任意复杂代码的能力(有条件)。
  3. until 关键字一起,它允许创建经典的 while/until 循环。
  4. blockwhere 语句允许分支。即使在循环中。

此外,与 playbook 相关的插件被视为扩展 playbook 的有效方式,因此它们提供完整的 python 功能。