Get VMware vSphere Virtual Machine UUID - Ansible module vmware_guest_info
How to automate the gathering of UUID of a specific “myvm” VMware vSphere Virtual Machine using Ansible Playbook and vmware_guest_info module.


How to Get VMware vSphere Virtual Machine UUID with Ansible?
I’m going to show you a live demo and some simple Ansible code. I’m Luca Berton and welcome to today’s episode of Ansible Pilot.
Ansible Get VMware vSphere Virtual Machine UUID
community.vmware.vmware_guest_info
- Gather info about a single VM
Let’s talk about the Ansible module vmware_guest_info
.
The full name is community.vmware.vmware_guest_info
, which means that is part of the collection of modules to interact with VMware, community-supported.
The module’s purpose is to gather info about a single VM.
Parameters
- hostname string / port integer / username string / password string / datacenter string / validate_certs boolean - connection details
- name string - Virtual machine name
The following parameters are useful in order to Get VMware vSphere Virtual Machine UUID using the module vmware_guest_info
.
First of all, we need to establish the connection with VMware vSphere or VMware vCenter using a plethora of self-explicative parameters: hostname
, port
, username
, password
, datacenter
, and validate_certs
.
Once the connection is successfully established you could specify the virtual machine name
to obtain all information about it.
Links
The Best Resources For Ansible
Video Course
Printed Book
eBooks
- Ansible by Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
- Ansible For Windows By Examples: 50+ Automation Examples For Windows System Administrator And DevOps
- Ansible For Linux by Examples: 100+ Automation Examples For Linux System Administrator and DevOps
- Ansible Linux Filesystem By Examples: 40+ Automation Examples on Linux File and Directory Operation for Modern IT Infrastructure
- Ansible For Containers and Kubernetes By Examples: 20+ Automation Examples To Automate Containers, Kubernetes and OpenShift
- Ansible For Security by Examples: 100+ Automation Examples to Automate Security and Verify Compliance for IT Modern Infrastructure
- Ansible Tips and Tricks: 10+ Ansible Examples to Save Time and Automate More Tasks
- Ansible Linux Users & Groups By Examples: 20+ Automation Examples on Linux Users and Groups Operation for Modern IT Infrastructure
- Ansible For PostgreSQL by Examples: 10+ Examples To Automate Your PostgreSQL database
- Ansible For Amazon Web Services AWS By Examples: 10+ Examples To Automate Your AWS Modern Infrastructure
demo
How to Get VMware vSphere Virtual Machine UUID with Ansible. I’m going to show you how to Gather Information about a specific “myvm” VMware Virtual Machine and select the UUID using Ansible Playbook.
code
- vm_uuid.yml
---
- name: vm UUID demo
hosts: localhost
become: false
gather_facts: false
collections:
- community.vmware
pre_tasks:
- include_vars: vars.yml
tasks:
- name: Get VM UUID
vmware_guest_info:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ vcenter_datacenter }}"
validate_certs: "{{ vcenter_validate_certs }}"
name: "{{ vm_name }}"
register: detailed_vm_info
- name: print VM UUID
ansible.builtin.debug:
var: detailed_vm_info.instance.hw_product_uuid
- vars.yml
---
vcenter_hostname: "vmware.example.com"
vcenter_datacenter: "vmwaredatacenter"
vcenter_validate_certs: false
vcenter_username: "[email protected]"
vcenter_password: "MySecretPassword123"
vm_name: "myvm"
execution
$ ansible-playbook vm_uuid.yml
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost
does not match 'all'
PLAY [vm UUID demo] ***************************************************************************************
TASK [include_vars] ***************************************************************************************
ok: [localhost]
TASK [Get VM UUID] ****************************************************************************************
ok: [localhost]
TASK [print VM UUID] **************************************************************************************
ok: [localhost] => {
"detailed_vm_info.instance.hw_product_uuid": "4225a846-b176-892d-0e27-10a4106269a0"
}
PLAY RECAP ************************************************************************************************
localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
idempotency
$ ansible-playbook vm_uuid.yml
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost
does not match 'all'
PLAY [vm UUID demo] ***************************************************************************************
TASK [include_vars] ***************************************************************************************
ok: [localhost]
TASK [Get VM UUID] ****************************************************************************************
ok: [localhost]
TASK [print VM UUID] **************************************************************************************
ok: [localhost] => {
"detailed_vm_info.instance.hw_product_uuid": "4225a846-b176-892d-0e27-10a4106269a0"
}
PLAY RECAP ************************************************************************************************
localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
vSphere
after execution
Recap
Now you know how to Get VMware vSphere Virtual Machine UUID with Ansible. Subscribe to the YouTube channel, Medium, Website, Twitter, and Substack to not miss the next episode of the Ansible Pilot.
Academy
Learn the Ansible automation technology with some real-life examples in my
My book Ansible By Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
Donate
Want to keep this project going? Please donate