首页 > 解决方案 > 定义 ansible vars dict,其中变量 B 包括来自同一个 dict 的变量 A

问题描述

是否可以在 YAML vars 文件中定义 var,如下所示:

nodeJs:
  version : "10.x"
  url     : "xxx.com/{{ nodeJS['version'] }}"
  script  : "runme.sh"

我相信这是可能的,因为 Python 本身允许这样的引用:

nodeJS = {"version": "10.x", "url": "xxx.com/"+nodeJS['version'], "script":"runme.sh"}
Output:
nodeJS
Out[34]: {'script': 'runme.sh', 'url': 'xxx.com/10.x', 'version': '10.x'}

我知道我可以简单地定义变量,例如:

nodeJSversion = "10.x"
nodeJSurl = "xxx.com/{{ nodeJSversion  }}"

但不适合

标签: pythonansibleyaml

解决方案


我不认为这样可以直接完成。您可以使用 ansible 的模板模块在 yaml 文件中声明变量。定义要在额外变量或任何库存文件中替换的变量


推荐阅读