所以我正在使用基于 group_vars 的剧本,它用于为各种网站提供 IIS 设置。
group_vars 由 2 个主要 dicts 组成(其中一个包含 dicts 列表的复杂 dicts 列表。)
复杂的引用了 Jinja2 中 firstdict 的变量(例如 {{ firstdic.sitename }})
这与 group_vars 完美配合,引用由 Ansible 中的 jinja2 引擎解析。但是当涉及到动态清单时,当从第一个 dict 引用 vars 时,整个 dict 是未设置的。
这里有一些 JSON(来自我的动态库存):
"firstdict": { "sitename": "mysitename" }
"complexdict": {"someotherdict": {"sitepath": "{{ firstdict.sitename }}"}}
使用此 JSON 时,调试模块会发现未定义 complexdict。
但是,jinja2 部分被正确解析和执行,因为这会起作用。
动态库存输入:
"complexdict": {"someotherdict": {"sitepath": "{{ \"foo\" }}"}}
调试模块返回:
"complexdict": {
"someotherdict": {
"sitepath": "foo"
}
}
是否存在可变优先级问题?还有什么我应该知道为什么它不能这样工作吗?
感谢您的帮助,Ansible 大师 :)
PS:我已经尝试了很多经验转义,转义花括号,双引号等。