vmware.vmware.vm_snapshot module – Manages virtual machines snapshots in vCenter
Note
This module is part of the vmware.vmware collection (version 2.9.0).
You might already have this collection installed if you are using the ansible package.
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install vmware.vmware.
To use it in a playbook, specify: vmware.vmware.vm_snapshot.
Synopsis
This module can be used to create, delete and update snapshot(s) of the given virtual machine.
Parameters
Parameter |
Comments |
|---|---|
Datacenter to search for the virtual machine. |
|
Define an arbitrary description to attach to snapshot. Default: |
|
Absolute or relative folder path to search for the virtual machine. This parameter is required if For example ‘datacenter name/vm/path/to/folder’ or ‘path/to/folder’ |
|
If true, any folder path parameters are treated as absolute paths. If false, modules will try to intelligently determine if the path is absolute or relative. This option is useful when your environment has a complex folder structure. By default, modules will try to intelligently determine if the path is absolute or relative. They may mistakenly prepend the datacenter name or other folder names, and this option can be used to avoid this. Choices:
|
|
The hostname or IP address of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable |
|
If set to Note that memory snapshots take time and resources, this will take longer time to create. If virtual machine does not provide capability to take memory snapshot, then this flag is set to Choices:
|
|
If multiple VMs with the same name exist, use the first or last found. Choices:
|
|
If the snapshot already exists, it will be renamed to this value. |
|
The password of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable |
|
The port number of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable Default: |
|
The address of a proxy that will receive all HTTPS requests and relay them. The format is a hostname or a IP. If the value is not specified in the task, the value of environment variable |
|
The port of the HTTP proxy that will receive all HTTPS requests and relay them. If the value is not specified in the task, the value of environment variable |
|
If set to Note that VMware Tools are required for this flag. If virtual machine is powered off or VMware Tools are not available, then this flag is set to If virtual machine does not provide capability to take quiesce snapshot, then this flag is set to Choices:
|
|
Removes all snapshots in VM if set to true. Allowed only when Choices:
|
|
If set to Choices:
|
|
The ID of the snapshot to manage. This option cannot be used when creating a new snapshot. Either this parameter or |
|
The name of the snapshot to manage. Either this parameter or |
|
Manage snapshot(s) attached to a specific virtual machine. If set to If set to If set to Choices:
|
|
The timeout value in seconds for the module to wait for the task to finish. Default: |
|
Whether to use the VMware instance UUID rather than the BIOS UUID. Choices:
|
|
The username of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable |
|
Allows connection when SSL certificates are not valid. Set to If the value is not specified in the task, the value of environment variable Choices:
|
Notes
Note
All modules require API write access and hence are not supported on a free ESXi license.
All variables and VMware object names are case sensitive.
Modules may rely on the ‘requests’ python library, which does not use the system certificate store by default. You can specify the certificate store by setting the REQUESTS_CA_BUNDLE environment variable. Note having this variable set may cause a ‘false’ value for the ‘validate_certs’ option to be ignored in some cases. Example: ‘export REQUESTS_CA_BUNDLE=/path/to/your/ca_bundle.pem’
Examples
- name: Create a snapshot
vmware.vmware.vm_snapshot:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
folder: "/{{ datacenter_name }}/vm/"
name: "{{ guest_name }}"
state: present
snapshot_name: snap1
description: snap1_description
- name: Remove a snapshot
vmware.vmware.vm_snapshot:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
folder: "/{{ datacenter_name }}/vm/nested/folder/path"
name: "{{ guest_name }}"
state: absent
snapshot_name: snap1
- name: Remove all snapshots of a VM
vmware.vmware.vm_snapshot:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
folder: "/{{ datacenter_name }}/vm/"
name: "{{ guest_name }}"
state: absent
remove_all: true
- name: Remove all snapshots of a VM using MoID
vmware.vmware.vm_snapshot:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
folder: "/{{ datacenter_name }}/vm/nested/folder/path"
moid: vm-42
state: absent
remove_all: true
- name: Take snapshot of a VM using quiesce and memory flag on
vmware.vmware.vm_snapshot:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
folder: "nested/folder/path"
name: "{{ guest_name }}"
state: present
snapshot_name: dummy_vm_snap_0001
quiesce: true
memory_dump: true
- name: Remove a snapshot and snapshot subtree
vmware.vmware.vm_snapshot:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
folder: "/{{ datacenter_name }}/vm/"
name: "{{ guest_name }}"
state: absent
remove_children: true
snapshot_name: snap1
- name: Remove a snapshot with a snapshot id
vmware.vmware.vm_snapshot:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
folder: "/{{ datacenter_name }}/vm/nested/folder/path"
name: "{{ guest_name }}"
snapshot_id: 10
state: absent
- name: Rename a snapshot
vmware.vmware.vm_snapshot:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter_name }}"
folder: "nested/folder/path"
name: "{{ guest_name }}"
state: present
snapshot_name: current_snap_name
new_snapshot_name: im_renamed
description: "{{ new_snapshot_description }}"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
Information about the vCenter task, if one was run Returned: On change Sample: |
|
Metadata about the affected virtual machine snapshot Returned: When state is present Sample: |
|
Information about the target VM Returned: Always Sample: |