Dictionary ansible的键方法
我正在寻找一种简单的方法来创建字典的键列表,就像在Python中使用keys方法一样,但Ansible中似乎不存在这种方法。例如,下面是主机上设置模块的输出Dictionary ansible的键方法,dictionary,ansible,key,Dictionary,Ansible,Key,我正在寻找一种简单的方法来创建字典的键列表,就像在Python中使用keys方法一样,但Ansible中似乎不存在这种方法。例如,下面是主机上设置模块的输出 "ansible_lvm": { ... "pvs": { "/dev/sda2": { "free_g": "0",
"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
令人尴尬的简单和惊讶,至少对我来说是这样。我以为我理解列表过滤器是如何工作的,但我可以看出我错了。谢谢!