How to Get VMware vSphere Virtual Machine UUID with Ansible?
I'm going to show you a live Playbook 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
- [
community.vmware.vmware_guest_info](https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware_guest_info_module.html)
Playbook
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
``yaml
---
- name: vm UUID Playbook
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
``yaml
---
vcenter_hostname: "vmware.example.com"
vcenter_datacenter: "vmwaredatacenter"
vcenter_validate_certs: false
vcenter_username: "[email protected]"
vcenter_password: "MySecretPassword123