Ansible是否是图灵完备的?

11

Ansible提供了许多过滤器和条件语句。据我所知,可以实现一个Ansible playbook来执行一组任务,实现与Turing Complete语言相同的结果。那么,它是否是Turing Complete呢?

Ansible 提供许多过滤器和条件语句。根据我的理解,可以编写一个 Ansible playbook,通过执行一系列任务来实现与一种 Turing 完备语言相同的结果。因此,Ansible 可以被认为是 Turing 完备的。
1个回答

9

我认为是可以的。

  1. Ansible可以生成yaml文件并在其上运行自身(两者都可以作为local_action完成),这是eval()函数的一个粗略等价物。
  2. Ansible可以创建列表并迭代它们。与include_role一起使用,可以在循环中运行任意复杂的代码(带有条件)。
  3. until关键字一起使用,可以创建经典的while/until循环。
  4. blockwhere语句允许分支。甚至在循环内部也可以实现。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接