我有一个类似调试任务的字典:
ok: [node] => {
"_res": {
"changed": false,
"failed": false,
"msg": {
"ansible_architecture": "64 bits",
"ansible_bios_date": "11/26/2012",
"ansible_bios_version": "Hyper-V UEFI Release v1.0",
"ansible_date_time": { ...
当我检查类型时:
- name: debug
debug:
var: mydict | type_debug
ok: [node] => {
"mydict | type_debug": "dict"
}
例如,我想将ansible_bios_version的值转换为新事实。
我已经尝试过了:
- name: set facts
set_fact:
var: mydict | map(attribute='ansible_bios_version') | list
var: mydict |selectattr("ansible_bios_version", "defined")|list|length >0
var: mydict | selectattr("ansible_bios_version")|list
....
欢迎任何帮助
答案 0 :(得分:0)
如果 mydict 如下
mydict:
_res:
changed: false
failed: false
msg:
ansible_architecture: 64 bits
ansible_bios_date: 11/26/2012
ansible_bios_version: Hyper-V UEFI Release v1.0
ansible_date_time: ansible_date_time
然后执行以下任务
- set_fact:
bios_ver: "{{ mydict._res.msg.ansible_bios_version }}"
- debug:
var: bios_ver
给予
bios_ver: Hyper-V UEFI Release v1.0
这是您要找的吗?