我想在一本剧本中找到以下几种可能性中的一小部分:
我无法弄清楚这样做的好方法是什么?我不想重新发明轮子,因为:
我的目的是编写一个无缝地,可选地与ansible一起工作的工具。如果我能不这样做,我不想修改ansible的代码。
感谢任何帮助或黑客或建议。
PS:语法检查不会告诉我上面提到的内容。 我看了一下ansible-lint工具。它进行文本处理,不支持库存(对于host_vars等),也不使用ansible python API。所以为了做我需要的东西,我必须调用许多ansible的内部API,我最终会在我的工具中编写ansible的代码。
答案 0 :(得分:0)
未定义的变量: 您需要执行playbook才能理解变量未定义。 例如,我们有: 剧本:
foo.j2: {{E}}
你也有magic variables:ansible_distribution_release 有时它没有在没有安装lsb_release的主机上定义
如果你想在unset变量上死,你也可以在运行时设置变量-e 您还可以通过库存设置变量!
未使用的变量 根据环境的不同,您可以在禁用时使用任何内容:
你也有默认变量。