Ansible 图灵完备了吗?
Is Ansible Turing Complete?
Ansible 提供了许多过滤器和条件。据我所知;应该可以实现一个 Ansible 剧本,该剧本执行一组任务,实现与图灵完备语言相同的结果。那么,它是图灵完备的吗?
我认为是。
- Ansible 可以生成 yaml 文件和 运行 本身(两者都可以作为
local_action
完成),这大致相当于 eval()
函数。
- Ansible 可以创建列表并迭代它们。与
include_role
一起,它打开了 运行 循环内任意复杂代码的能力(有条件)。
- 与
until
关键字一起,它允许创建经典的 while/until 循环。
block
和 where
语句允许分支。即使在循环中。
此外,与 playbook 相关的插件被视为扩展 playbook 的有效方式,因此它们提供完整的 python 功能。
Ansible 提供了许多过滤器和条件。据我所知;应该可以实现一个 Ansible 剧本,该剧本执行一组任务,实现与图灵完备语言相同的结果。那么,它是图灵完备的吗?
我认为是。
- Ansible 可以生成 yaml 文件和 运行 本身(两者都可以作为
local_action
完成),这大致相当于eval()
函数。 - Ansible 可以创建列表并迭代它们。与
include_role
一起,它打开了 运行 循环内任意复杂代码的能力(有条件)。 - 与
until
关键字一起,它允许创建经典的 while/until 循环。 block
和where
语句允许分支。即使在循环中。
此外,与 playbook 相关的插件被视为扩展 playbook 的有效方式,因此它们提供完整的 python 功能。