在 Ansible 中操作数据

问题描述 投票:0回答:1

嗨,我无法理解这一点。我的

vm_info
在下面。

ok: [localhost] => {
"vm_info": {
    "results": [
        {
            "item": "AP",
            "vms": [
                {
                    "VM": "1"
                },
                {
                    "VM": "2"
                },
                {
                    "VM": "2"
                },
            ],
            "item": "US",
            "vms": [
                    {
                        "VM": "1"
                    },
                    {
                        "VM": "2"
                    },
                    {
                        "VM": "2"
                    },
                    ]
            }
        ]
    }
}

我想将每个

item
添加到 Ansible 中的每个
VM
并创建新字典。我想要的输出:

"updated_vm": {
    "results": [
        {
            "item": "AP",
            "vms": [
                {
                    "VM": "1",
                    "item": "AP",
                },
                {
                    "VM": "2",
                    "item": "AP",
                },
                {
                    "VM": "3",
                    "item": "AP",
                },
            ],
            "item": "US",
            "vms": [
                    {
                        "VM": "1",
                        "item": "US"
                    },
                    {
                        "VM": "2",
                        "item": "US"
                    },
                    {
                        "VM": "2"
                        "item": "US"
                    },
                    ]
            }
        ]
    }
}

是否可以在另一个密钥中添加相同级别的密钥?
我在哪里可以找到文档来理解这一点? :)

ansible jinja2
1个回答
0
投票

问:“这是否可以在另一个键中添加相同级别的键?

不,又是。无法更改该结果集,但可以使用必要的属性创建一个新结果集,请参阅更改注册变量

update_fact
模块 – 更新当前设置的事实

问:“在哪里可以找到文档来理解这一点?

由于这只是基本的算法和数据结构,因此可能没有直接记录或以您期望的方式记录,但您可以从复杂的数据操作如何在 Ansible 中使用列表和字典如何开始在 Ansible 等中使用字典列表...

© www.soinside.com 2019 - 2024. All rights reserved.