gpt4 book ai didi

json - Ansible:从 json 字符串创建变量

转载 作者:行者123 更新时间:2023-12-01 04:47:06 24 4
gpt4 key购买 nike

在 Ansible 中,有没有办法将位于 JSON 变量中的键/值对的动态列表转换为可以在不使用文件系统的情况下在 Playbook 中访问的变量名称/值?

IE - 如果我在变量中有以下 JSON(在我的情况下,已经从 URI 调用导入):

{
"ansible_facts": {
"list_of_passwords": {
"ansible_password": "abc123",
"ansible_user": "user123",
"blue_server_password": "def456",
"blue_server_user": "user456"
}
}

有没有办法将该 JSON 变量转换为以下等效项:
vars:
ansible_password: abc123
ansible_user: user123
blue_server_password: def456
blue_server_user: user456

通常,我会将变量写入文件,然后使用 vars_files: 导入它。我们的目标是不将 secret 写入文件系统。

最佳答案

您可以使用uri module调用电话,然后注册对变量的响应:

例如:

- uri:
url: http://www.mocky.io/v2/59667604110000040ec8f5c6
body_format: json
register: response
- debug:
msg: "{{response.json}}"
- set_fact: {"{{ item.key }}":"{{ item.val }}"}
with_dict: "{{response.json.ansible_facts.list_of_passwords}}"

关于json - Ansible:从 json 字符串创建变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45045837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com