Ansible:列出剧本所需的所有变量

Ansible:列出剧本所需的所有变量

给定一个剧本

---
- hosts:
  some_host_group
  roles:
  - foo
  - bar

我想获取剧本需要定义的所有变量的列表。例如:

# playbook-requires myplaybook.yml

对于更复杂(或只是众多)的剧本,这可能会派上用场。在开始编写此类实用程序之前,我想确保我没有重新发明轮子。

快速谷歌搜索显示了很多相反任务(列出所有定义的变量)的解决方案。这不是我想要的。

那么,有人知道有这样的实用程序吗?

答案1

没有这样的工具,我确信您需要一个完整的 Ansible-Yaml 和 Jinja-Parser。也许 ansible-lint 是一个很好的起点。

因为剧本和角色中可能会使用变量,角色的依赖项中也可能使用变量。角色也会有模板,模板可以使用变量。然后,在字典或列表中“构造”变量键的可能性不大,只有在完全运行脚本时才能看到。有一个剧本试运行 - 也许可以从那里开始检查所有错误 - 但是如果它包含 if else 条件,则只会解释一个块。

相关内容