【问题标题】:How to pass a variable that contains json objects as an externalvariable to execute ansible playbooks?如何将包含 json 对象的变量作为外部变量传递来执行 ansible playbook?
【发布时间】:2020-09-09 22:00:06
【问题描述】:

我无法将带有 json 对象的变量作为额外变量传递给 Ansible playbook,因为它无法识别变量。

我将 json 对象保存到 linux shell 中名为“pay”的变量中。

当我使用 sudo ansible-playbook test.yml -e "'${pay}'" 调用 ansible playbook 时

它会引发以下错误。

"msg": "任务包含一个带有未定义变量的选项。错误是:'username' is undefined\n\

当我直接传递json文件时它可以工作

```sudo ansible-playbook test.yml -e '@payload.json' ``

有人可以帮助我们吗?

【问题讨论】:

  • 你能告诉我们$pay的内容是什么样的吗?我无法从您的描述中重现您的问题。

标签: ansible


【解决方案1】:

如果要将 json 作为外部变量传递,则需要在运行 playbook 时直接传递值。

https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html(在命令行传递变量)

ansible-playbook release.yml --extra-vars "version=1.23.45 other_variable=foo"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 2015-08-20
    • 2017-10-07
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多