我的剧本中有一些变量如下:
---
first_var:
param1: value1
param2: value2
我想从命令行调用这些参数,如下所示:
ansible-playbook -i inventory site.yml -e 'first_var.param1=newvalue1'
但是不起作用,我错过了什么吗?
答案 0 :(得分:1)
只有将hash-behaviour修改为merge
(这可能会制作您的剧本)时,才能执行此操作。
此外,为了使其工作,您需要将额外的变量作为JSON对象传递,这对-e var=value
不起作用。
示例命令行:
ANSIBLE_HASH_BEHAVIOUR=merge ansible-playbook -i inventory -e "{'first_var':{'param1':'newvalue1'}}" site.yml