Delete a VMware Virtual Machine Snapshot - Ansible module vmware_guest_snapshot
By Luca Berton · Published 2024-01-01 · Category: troubleshooting
How to automate the delete of snapshot named “Ansible Managed Snapshot” in a VMware Virtual Machine “myvm” Ansible Playbook and vmware_guest_snapshot module.

How to Delete a VMware Virtual Machine Snapshot 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.See also: Take a VMware Virtual Machine Snapshot - Ansible module vmware_guest_snapshot
Ansible Delete a VMware Virtual Machine Snapshot
•community.vmware.vmware_guest_snapshot
• Manages virtual machines snapshots in vCenter
Let's talk about the Ansible module vmware_guest_snapshot.
The full name is community.vmware.vmware_guest_snapshot, which means that is part of the collection of modules to interact with VMware, community-supported.
It manages virtual machine snapshots in vCenter.
Parameters
• hostname string / username string / password string / datacenter string / validate_certs boolean - connection details • state string - present / absent / revert / remove_all • remove_children boolean - no/yes • snapshot_name string description string - Name/description of the virtual machine to work withThe following parameters are useful in order to Take a VMware Virtual Machine Snapshot using the module vmware_guest_snapshot.
First of all, we need to establish the connection with VMware vSphere or VMware vCenter using a plethora of self-explicative parameters: hostname, username, password, datacenter, and validate_certs.
Once the connection is successfully established you could specify the desired snapshot state, in this case, "absent" to delete a snapshot. You could also manage a snapshot with the same Ansible module.
If you want to remove a snapshot you could also remove all the dependent snapshots using the parameter remove_children.
You need to specify the exact snapshot name that you would like to remove in the snapshot_name parameter.
See also: How to Add a Disk to a VMware VM Using Ansible Playbook
Links
• community.vmware.vmware_guest_snapshot## Playbook
How to Delete a VMware Virtual Machine Snapshot with Ansible. I'm going to show you how to Delete a snapshot of the Virtual Machine named "myvm" using Ansible Playbook named "Ansible Managed Snapshot" in your VMware vCenter.
code
• vm_snapshot_remove.yml---
- name: vm snapshot Playbook
hosts: localhost
become: false
gather_facts: false
collections:
- community.vmware
pre_tasks:
- include_vars: vars.yml
tasks:
- name: remove snapshot
vmware_guest_snapshot:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ vcenter_datacenter }}"
validate_certs: "{{ vcenter_validate_certs }}"
name: "{{ vm_name }}"
folder: "{{ vm_folder }}"
snapshot_name: "Ansible Managed Snapshot"
state: absent
• vars.yml
---
vcenter_hostname: "vmware.example.com"
vcenter_datacenter: "vmwaredatacenter"
vcenter_validate_certs: false
vcenter_username: "username@vsphere.local"
vcenter_password: "MySecretPassword123"
vm_name: "myvm"
vm_template: "mytemplate"
vm_folder: "myvm"
• inventory
localhost
execution
$ ansible-playbook vm_snapshot_remove.yml
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit
localhost does not match 'all'
PLAY [vm snapshot Playbook] ***************************************************************************
TASK [include_vars] *******************************************************************************
ok: [localhost]
TASK [remove snapshot] ****************************************************************************
changed: [localhost]
PLAY RECAP ****************************************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
idempotency
$ ansible-playbook vm_snapshot_remove.yml
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit
localhost does not match 'all'
PLAY [vm snapshot Playbook] ***************************************************************************
TASK [include_vars] *******************************************************************************
ok: [localhost]
TASK [remove snapshot] ****************************************************************************
ok: [localhost]
PLAY RECAP ****************************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
before execution
after execution
Conclusion
Now you know how to create a VMware vSphere Virtual Machine with Ansible.See also: Configure Ansible Dynamic Inventory for VMware in Simple Steps
Related Articles
• template lookups in Ansible • the Ansible become reference • inventory configuration in AnsibleCategory: troubleshooting
Watch the video: Delete a VMware Virtual Machine Snapshot - Ansible module vmware_guest_snapshot — Video Tutorial