AnsiblePilot — Master Ansible Automation

AnsiblePilot is the leading resource for learning Ansible automation, DevOps, and infrastructure as code. Browse over 1,400 tutorials covering Ansible modules, playbooks, roles, collections, and real-world examples. Whether you are a beginner or an experienced engineer, our step-by-step guides help you automate Linux, Windows, cloud, containers, and network infrastructure.

Popular Topics

About Luca Berton

Luca Berton is an Ansible automation expert, author of 8 Ansible books published by Apress and Leanpub including "Ansible for VMware by Examples" and "Ansible for Kubernetes by Example", and creator of the Ansible Pilot YouTube channel. He shares practical automation knowledge through tutorials, books, and video courses to help IT professionals and DevOps engineers master infrastructure automation.

Take a VMware Virtual Machine Snapshot - Ansible module vmware_guest_snapshot — Video Tutorial

How to automate taking snapshots named “Ansible Managed Snapshot” to a VMware Virtual Machine “myvm” Ansible Playbook and vmware_guest_snapshot module.

Watch on YouTube · Read the written article

Tutorial summary

What you'll learn

  • How to Take a VMware Virtual Machine Snapshot with Ansible?
  • Ansible Take a VMware Virtual Machine Snapshot
  • Parameters
  • Links
  • code
  • execution
  • idempotency
  • before execution
  • after execution
  • Conclusion
How to Take a VMware Virtual Machine Snapshot with Ansible? Ansible Take 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 with - memory_dump boolean - no/yes - memory snapshots take time and resource The 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, "present" to take a snapshot. You could also `revert` or `remove` 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`. It's a good practice to set the name and description of the snapshot using the`snapshot_name` and `description` parameters. Advanced practice is to create the memory dump of the virtual machines, please note that memory snapshots take time and resources will take a longer time to create. Default memory dump is disabled but you could enable using `memory_dump` parameter. Links - [community.vmware.vmware_guest_snapshot](https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware_guest_snapshot_module.html) ## Playbook How to Take a VMware Virtual Machine Snapshot with Ansible. code - vm_snapshot_create.yml ```yaml --- - name: vm snapshot Playbook hosts: localhost become: false gather_facts: false collections: - community.vmware pre_tasks: - include_vars: vars.yml tasks: - name: create snapshot vmware_guest_snapshot: hostname: "{{ vcenter_hostname }}" username: "{{ vcenter_username }}" password: "{{ vcenter_password }}" datacenter: "{{ vcenter_datacenter }}" validate_certs: "{{ vcenter_validate_certs }}" name: "{{ vm_name }}" state: present snapshot_name: "Ansible Managed Snapshot" folder: "{{ vm_folder }}" description: "This snapshot is created by Ansible Playbook" ``` - vars.yml ```yaml --- vcenter_hostname: "vmware.example.com" vcenter_datacenter: "vmwaredatacenter" vcenter_validate_certs: false vcen

About this tutorial

  • Author: Luca Berton
  • Difficulty: Advanced
  • Read time: 3 min
  • Category: troubleshooting

Topics covered

Related video tutorials