Dictionary ansible的键方法

Dictionary ansible的键方法,dictionary,ansible,key,Dictionary,Ansible,Key,我正在寻找一种简单的方法来创建字典的键列表,就像在Python中使用keys方法一样,但Ansible中似乎不存在这种方法。例如,下面是主机上设置模块的输出 "ansible_lvm": { ... "pvs": { "/dev/sda2": { "free_g": "0",

我正在寻找一种简单的方法来创建字典的键列表,就像在Python中使用keys方法一样,但Ansible中似乎不存在这种方法。例如,下面是主机上设置模块的输出

"ansible_lvm": {
...
            "pvs": {
                "/dev/sda2": {
                    "free_g": "0",
                    "size_g": "8.81",
                    "vg": "rhel"
                },
                "/dev/sdb1": {
                    "free_g": "1.50",
                    "size_g": "3.00",
                    "vg": "bob"
                }
            },


我想要实现的结果是将设备dev/sda1…放在一个列表中,这样我就可以轻松地测试pv列表中的设备或键列表上的其他操作。我知道我提出的每一个案例都有解决办法,但我觉得我遗漏了一些东西,因为它似乎是非常基本的东西。

只需将您的dict转换为一个列表,您就会得到它的键,如以下示例所示:

---
-名称:密钥列表演示
主机:本地主机
收集事实:错误
变量:
“pvs”:{
“/dev/sda2”:{
“免费”:“0”,
“尺寸”:“8.81”,
“vg”:“rhel”
},
“/dev/sdb1”:{
“免费”:“1.50”,
“尺寸”:“3.00”,
“vg”:“鲍勃”
}
}
任务:
-名称:“列出密钥”
调试:
msg:{pvs | list}}”

PLAY [List of keys demo] ********************************************************************************************************************************************************************************************************************

TASK [List keys] ****************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": [
        "/dev/sda2",
        "/dev/sdb1"
    ]
}

PLAY RECAP **********************************************************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

令人尴尬的简单和惊讶,至少对我来说是这样。我以为我理解列表过滤器是如何工作的,但我可以看出我错了。谢谢!