这是寄存器的内容来自:
- debug: var: vmfacts.virtual_machines ok: [localhost] => { "vmfacts.virtual_machines": { "2k12r2-k11": { "guest_fullname": "Microsoft Windows Server 2012 (64-bit)", "ip_address": "10.0.1.20", "mac_address": [ "00:50:56:00:00:20" ], "power_state": "poweredOn", "uuid": "421d5210-8a64-2d60-8b44-02de952600d1" },
下面的工作正常,但我需要从上面的uuid的价值
- shell: "echo {{ item }}" with_items: "{{ vmfacts.virtual_machines }}"
似乎无法解码的语法,这些似乎没有工作:
“echo {{item.uuid}}”“echo {{item.0.uuid}}”“echo {{item [0] .uuid}}”
访问uuid值的正确方法是什么?
vmfacts.virtual_machines是一个dict 。
当应用于dict时, with_items仅在其键上进行迭代。
所以:
- shell: "echo {{ vmfacts.virtual_machines[item].uuid }}" with_items: "{{ vmfacts.virtual_machines }}"
或者更好的使用with_dict :
- shell: "echo {{ item.value.uuid }}" with_dict: "{{ vmfacts.virtual_machines }}"