Ansible在命令行中嵌套变量

时间:2016-10-21 12:50:28

标签: variables nested ansible

我的剧本中有一些变量如下:

--- first_var: param1: value1 param2: value2

我想从命令行调用这些参数,如下所示:

ansible-playbook -i inventory site.yml -e 'first_var.param1=newvalue1'

但是不起作用,我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

只有将hash-behaviour修改为merge这可能会制作您的剧本)时,才能执行此操作。
此外,为了使其工作,您需要将额外的变量作为JSON对象传递,这对-e var=value不起作用。

示例命令行:

ANSIBLE_HASH_BEHAVIOUR=merge ansible-playbook -i inventory -e "{'first_var':{'param1':'newvalue1'}}" site.yml