vmware_guest_facts – Gather facts about a single VM¶
New in version 2.3.
Synopsis¶
Gather facts about a single VM on a VMware ESX cluster.
Requirements¶
The below requirements are needed on the host that executes this module.
python >= 2.6
PyVmomi
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
datacenter
-
/ required
|
Destination datacenter for the deploy operation
|
|
folder
-
|
Destination folder, absolute or relative path to find an existing guest.
This is required if name is supplied.
The folder should include the datacenter. ESX's datacenter is ha-datacenter
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
folder: vm/folder2
folder: folder2
|
|
hostname
string
|
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
VMWARE_HOST will be used instead.Environment variable support added in Ansible 2.6.
|
|
name
-
|
Name of the VM to work with
This is required if UUID is not supplied.
|
|
name_match
-
|
|
If multiple VMs matching the name, use the first or last found
|
password
string
|
The password of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_PASSWORD will be used instead.Environment variable support added in Ansible 2.6.
aliases: pass, pwd |
|
port
integer
added in 2.5 |
Default: 443
|
The port number of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_PORT will be used instead.Environment variable support added in Ansible 2.6.
|
properties
list
added in 2.8 |
Specify the properties to retrieve.
If not specified, all properties are retrieved (deeply).
Results are returned in a structure identical to the vsphere API.
Example:
properties: [
"config.hardware.memoryMB",
"config.hardware.numCPU",
"guest.disk",
"overallStatus"
]
Only valid when
schema is vsphere . |
|
schema
string
added in 2.8 |
|
Specify the output schema desired.
The 'summary' output schema is the legacy output from the module
The 'vsphere' output schema is the vSphere API class definition which requires pyvmomi>6.7.1
|
tags
boolean
added in 2.8 |
|
Whether to show tags or not.
If set
True , shows tag facts.If set
False , hides tags facts.vSphere Automation SDK and vCloud Suite SDK is required.
|
use_instance_uuid
boolean
added in 2.8 |
|
Whether to use the VMWare instance UUID rather than the BIOS UUID.
|
username
string
|
The username of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_USER will be used instead.Environment variable support added in Ansible 2.6.
aliases: admin, user |
|
uuid
-
|
UUID of the instance to manage if known, this is VMware's unique identifier.
This is required if name is not supplied.
|
|
validate_certs
boolean
|
|
Allows connection when SSL certificates are not valid. Set to
false when certificates are not trusted.If the value is not specified in the task, the value of environment variable
VMWARE_VALIDATE_CERTS will be used instead.Environment variable support added in Ansible 2.6.
If set to
yes , please make sure Python >= 2.7.9 is installed on the given machine. |
Notes¶
Note
Tested on vSphere 5.5, 6.7
Examples¶
- name: Gather facts from standalone ESXi server having datacenter as 'ha-datacenter'
vmware_guest_facts:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: ha-datacenter
validate_certs: no
uuid: 421e4592-c069-924d-ce20-7e7533fab926
delegate_to: localhost
register: facts
- name: Gather some facts from a guest using the vSphere API output schema
vmware_guest_facts:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: no
datacenter: "{{ datacenter_name }}"
name: "{{ vm_name }}"
schema: "vsphere"
properties: ["config.hardware.memoryMB", "guest.disk", "overallStatus"]
delegate_to: localhost
register: facts
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
instance
dictionary
|
always |
metadata about the virtual machine
Sample:
{'annotation': '', 'current_snapshot': None, 'customvalues': {}, 'guest_consolidation_needed': False, 'guest_question': None, 'guest_tools_status': 'guestToolsNotRunning', 'guest_tools_version': '10247', 'hw_cores_per_socket': 1, 'hw_datastores': ['ds_226_3'], 'hw_esxi_host': '10.76.33.226', 'hw_eth0': {'addresstype': 'assigned', 'ipaddresses': None, 'label': 'Network adapter 1', 'macaddress': '00:50:56:87:a5:9a', 'macaddress_dash': '00-50-56-87-a5-9a', 'portgroup_key': None, 'portgroup_portkey': None, 'summary': 'VM Network'}, 'hw_files': ['[ds_226_3] ubuntu_t/ubuntu_t.vmx', '[ds_226_3] ubuntu_t/ubuntu_t.nvram', '[ds_226_3] ubuntu_t/ubuntu_t.vmsd', '[ds_226_3] ubuntu_t/vmware.log', '[ds_226_3] u0001/u0001.vmdk'], 'hw_folder': '/DC0/vm/Discovered virtual machine', 'hw_guest_full_name': None, 'hw_guest_ha_state': None, 'hw_guest_id': None, 'hw_interfaces': ['eth0'], 'hw_is_template': False, 'hw_memtotal_mb': 1024, 'hw_name': 'ubuntu_t', 'hw_power_status': 'poweredOff', 'hw_processor_count': 1, 'hw_product_uuid': '4207072c-edd8-3bd5-64dc-903fd3a0db04', 'hw_version': 'vmx-13', 'instance_uuid': '5007769d-add3-1e12-f1fe-225ae2a07caf', 'ipv4': None, 'ipv6': None, 'module_hw': True, 'snapshots': [], 'tags': ['backup'], 'vnc': {}}
|
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]