community / community.vmware / 0.4.0 / module / vmware_vm_facts Return basic info pertaining to a VMware machine guest Authors: Joseph Callen (@jcpowermac), Abhijeet Kasurde (@Akasurde), Fedor Vompe (@sumkincpp) preview | supported by communitycommunity.vmware.vmware_vm_facts (0.4.0) — module
Install with ansible-galaxy collection install community.vmware:==0.4.0
collections: - name: community.vmware version: 0.4.0
Return basic information pertaining to a vSphere or ESXi virtual machine guest.
Cluster name as fact is added in version 2.7.
This module was called C(vmware_vm_facts) before Ansible 2.9. The usage did not change.
- name: Gather all registered virtual machines vmware_vm_info: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' delegate_to: localhost register: vminfo
- debug: var: vminfo.virtual_machines
- name: Gather only registered virtual machine templates vmware_vm_info: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' vm_type: template delegate_to: localhost register: template_info
- debug: var: template_info.virtual_machines
- name: Gather only registered virtual machines vmware_vm_info: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' vm_type: vm delegate_to: localhost register: vm_info
- debug: var: vm_info.virtual_machines
- name: Get UUID from given VM Name block: - name: Get virtual machine info vmware_vm_info: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' folder: "/datacenter/vm/folder" delegate_to: localhost register: vm_info - debug: msg: "{{ item.uuid }}" with_items: - "{{ vm_info.virtual_machines | json_query(query) }}" vars: query: "[?guest_name=='DC0_H0_VM0']"
- name: Get Tags from given VM Name block: - name: Get virtual machine info vmware_vm_info: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' folder: "/datacenter/vm/folder" delegate_to: localhost register: vm_info - debug: msg: "{{ item.tags }}" with_items: - "{{ vm_info.virtual_machines | json_query(query) }}" vars: query: "[?guest_name=='DC0_H0_VM0']"
- name: Gather all VMs from a specific folder vmware_vm_info: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' folder: "/Asia-Datacenter1/vm/prod" delegate_to: localhost register: vm_info
port: default: 443 description: - The port number of the vSphere vCenter or ESXi server. - If the value is not specified in the task, the value of environment variable C(VMWARE_PORT) will be used instead. - Environment variable support added in Ansible 2.6. type: int folder: description: - Specify a folder location of VMs to gather information from. - 'Examples:' - ' folder: /ha-datacenter/vm' - ' folder: ha-datacenter/vm' - ' folder: /datacenter1/vm' - ' folder: datacenter1/vm' - ' folder: /datacenter1/vm/folder1' - ' folder: datacenter1/vm/folder1' - ' folder: /folder1/datacenter1/vm' - ' folder: folder1/datacenter1/vm' - ' folder: /folder1/datacenter1/vm/folder2' type: str vm_type: choices: - all - vm - template default: all description: - If set to C(vm), then information are gathered for virtual machines only. - If set to C(template), then information are gathered for virtual machine templates only. - If set to C(all), then information are gathered for all virtual machines and virtual machine templates. required: false type: str hostname: description: - The hostname or IP address of the vSphere vCenter or ESXi server. - If the value is not specified in the task, the value of environment variable C(VMWARE_HOST) will be used instead. - Environment variable support added in Ansible 2.6. type: str password: aliases: - pass - pwd description: - The password of the vSphere vCenter or ESXi server. - If the value is not specified in the task, the value of environment variable C(VMWARE_PASSWORD) will be used instead. - Environment variable support added in Ansible 2.6. type: str show_tag: default: false description: - Tags related to virtual machine are shown if set to C(True). type: bool username: aliases: - admin - user description: - The username of the vSphere vCenter or ESXi server. - If the value is not specified in the task, the value of environment variable C(VMWARE_USER) will be used instead. - Environment variable support added in Ansible 2.6. type: str proxy_host: description: - Address of a proxy that will receive all HTTPS requests and relay them. - The format is a hostname or a IP. - If the value is not specified in the task, the value of environment variable C(VMWARE_PROXY_HOST) will be used instead. - This feature depends on a version of pyvmomi greater than v6.7.1.2018.12 required: false type: str proxy_port: description: - Port of the HTTP proxy that will receive all HTTPS requests and relay them. - If the value is not specified in the task, the value of environment variable C(VMWARE_PROXY_PORT) will be used instead. required: false type: int show_attribute: default: false description: - Attributes related to VM guest shown in information only when this is set C(true). type: bool validate_certs: default: true description: - Allows connection when SSL certificates are not valid. Set to C(false) when certificates are not trusted. - If the value is not specified in the task, the value of environment variable C(VMWARE_VALIDATE_CERTS) will be used instead. - Environment variable support added in Ansible 2.6. - If set to C(yes), please make sure Python >= 2.7.9 is installed on the given machine. type: bool
virtual_machines: description: list of dictionary of virtual machines and their information returned: success sample: - attributes: job: backup-prepare cluster: null datacenter: Datacenter-1 esxi_hostname: 10.76.33.226 folder: /Datacenter-1/vm guest_fullname: Ubuntu Linux (64-bit) guest_name: ubuntu_t ip_address: '' mac_address: - 00:50:56:87:a5:9a power_state: poweredOff tags: - category_id: urn:vmomi:InventoryServiceCategory:b316cc45-f1a9-4277-811d-56c7e7975203:GLOBAL category_name: cat_0001 description: '' id: urn:vmomi:InventoryServiceTag:43737ec0-b832-4abf-abb1-fd2448ce3b26:GLOBAL name: tag_0001 uuid: 4207072c-edd8-3bd5-64dc-903fd3a0db04 vm_network: 00:50:56:87:a5:9a: ipv4: - 10.76.33.228 ipv6: [] type: list