Ansible + VMware Fusion

REST API

Consultar todas las MV de la librería de VMware Fusion.

ansible-playbook -i environments/vmfusion_inventory fusion_api.yml
vmfusion_inventory
[fusion_server]
macosserver	ansible_host=172.16.135.1	ansible_user=myuser
fusion_api.yml
---

- hosts: vmware_fusion
#  gather_facts: no

  tasks:
  - name: Check that you can connect (GET) to a page and it returns a status 200
    uri:
      url: https://172.16.135.1:8697/api/vms
      method: GET
      force_basic_auth: yes
      password: "ZmxlYWw6RmVyLm5hbmRvOTk="
      body_format: json
      return_content: yes
      validate_certs: false
      headers:
        Content-Type: "application/vnd.vmware.vmw.rest-v1+json"
        Authorization: "Basic ZmxlYWw6RmVyLm5hbmRvOTk="
        Accept: "application/vnd.vmware.vmw.rest-v1+json"
    register: vVMs

  - name: Debug
    debug:
      msg: "Mensaje Debug: {{ item.id }} {{ item.path }}"
    with_items: "{{ vVMs.json  }}"

[root@ansible]# ansible-playbook -i environments/vmfusion_inventory fusion_api.yml 

PLAY [macosserver]  *************************************************************************************************

TASK [Gathering Facts] **********************************************************************************************
ok: [macosserver]

TASK [Check that you can connect (GET) to a page and it returns a status 200] ***************************************
ok: [macosserver]

TASK [Debug] PLAY RECAP *********************************************************************************************
ok: [macosserver] => (item={u'path': u'/Virtual Machines/DUMMY.vmwarevm/DUMMY.vmx', u'id': u'H0EGD24AAR2GDO7LGMQ1VREQI18D5PND'}) => {
    "msg": "Mensaje Debug: H0EGD24AAR2GDO7LGMQ1VREQI18D5PND /Virtual Machines/DUMMY.vmwarevm/DUMMY.vmx"
}
ok: [macosserver] => (item={u'path': u'/Virtual Machines/RHEL7.vmwarevm/RHEL7.vmx', u'id': u'IE9OGI48API926RS4B81VTAJRTO3C6TQ'}) => {
    "msg": "Mensaje Debug: IE9OGI48API926RS4B81VTAJRTO3C6TQ /Virtual Machines/RHEL7.vmwarevm/RHEL7.vmx"
}

PLAY RECAP **********************************************************************************************************
macosserver                 : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0