私はESXiから仮想マシンのファクトをAnsibleで取得しようとしました。ここ マイ脚本:危険なモジュールvmware_vm_factsからフォーマットされたファクトを取得するには?
- name: VM
local_action:
module: vmware_vm_facts
hostname: '{{ vcenter_hostname }}'
username: root.
password: '{{ esxi_root_passw }}'
validate_certs: no
register: instance_vm_facts
- debug: var=instance_vm_facts
と私はいくつかの結果だ:
ok: [localhost -> localhost] => { "changed": false, "invocation": { "module_args": { "hostname": "192.168.210.63", "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "username": "root", "validate_certs": false } }, "virtual_machines": { "vmware-test-1": { "guest_fullname": "Red Hat Enterprise Linux 6 (64-bit)", "ip_address": "192.168.108.91", "power_state": "poweredOn" }, "vmware-test-2”: { "guest_fullname": "Red Hat Enterprise Linux 6 (64-bit)", "ip_address": "192.168.109.24", "power_state": "poweredOn" } } }
しかし、私は名前だけをフィルタリングし、ip_addressに方法を理解しますか? with_itemとwith_dictを試しましたが、失敗しました。
おかげで多くのことを
with_dict
を使用して、item.value.power_state
でitem.value.ip_address
、または電源状態でitem.key
とIPと名前をアクセスするために持っています!それは期待どおりに動作します! –あなたはその質問に答えてマークすることができますか? – zigarn