Ansible在输入变量文件中传递多行

时间:2018-10-31 07:59:55

标签: ansible ansible-2.x

我正在通过从外部文件中获取变量来运行ansible剧本

ansible-playbook -v /path/export.yml  --extra-vars '@input.json'

现在文件只有一行,如下所示

{ out_file: exp_app_12.xml, control_file: export_control.xml}

现在,我想在input.json文件中推送多行,如下所示

{ out_file: exp_app_12.xml, control_file: export_control1.xml}
{ out_file: exp_app_13.xml, control_file: export_control2.xml}
{ out_file: exp_app_14.xml, control_file: export_control3.xml}

但是它不起作用,如何实现呢?

1 个答案:

答案 0 :(得分:0)

您应该以这种正确的格式传递JSON文件;

ansible-playbook arcade.yml --extra-vars '{"pacman":"mrs","ghosts":["inky","pinky","clyde","sue"]}'

我认为您的JSON文件格式不正确,必须是这样;

[
{"out_file": "exp_app_12.xml","control_file": "export_control1.xml"},
{"out_file": "exp_app_12.xml","control_file": "export_control1.xml"},
{"out_file": "exp_app_12.xml","control_file": "export_control1.xml"}
]

此外,请参见ansible docs here,以了解更多信息。