Sys::Virt::DomainSnapshot(3pm)

NAME
Sys::Virt::DomainSnapshot - Represent & manage a libvirt guest domain

DESCRIPTION
The "Sys::Virt::DomainSnapshot" module represents a guest domain managed by the virtual machine monitor.

METHODS

my $str = $domss->get_name()
    Return the name of the snapshot

my $xml = $domss->get_xml_description($flags)
    Returns an XML document containing a complete description of the domain snapshot's configuration. The $flags parameter accepts the following constants

    Sys::Virt::DomainSnapshot::XML_SECURE
        Include security sensitive information in the XML dump, such as passwords.

$domss->delete($flags)
    Deletes this snapshot object & its data. The optional $flags parameter controls what should be deleted via the "Sys::Virt::DomainSnapshot::DELETE_*" constants.

$domss->revert_to($flags)
    Revert the domain to the state associated with this snapshot. The optional $flags control the state of the VM after the revert via the "Sys::Virt::DomainSnapshot::REVERT_*" constants.

$parentss = $domss->get_parent();
    Return the parent of the snapshot, if any

$res = $domss->is_current()
    Returns a true value if this is the current snapshot. False otherwise.

$res = $domss->has_metadata()
    Returns a true value if this snapshot has metadata associated with it.

$count = $domss->num_of_child_snapshots()
    Return the number of saved snapshots which are children of this snapshot

@names = $domss->list_child_snapshot_names()
    List the names of all saved snapshots which are children of this snapshot . The names can be used with the "lookup_snapshot_by_name"

@snapshots = $domss->list_child_snapshots()
    Return a list of all snapshots that are children of this snapshot. The elements in the returned list are instances of the Sys::Virt::DomainSnapshot class. This method requires O(n) RPC calls, so the "list_all_children" method is recommended as a more efficient alternative.

my @snapshots = $domss->list_all_children($flags)
    Return a list of all domain snapshots that are children of this snapshot. The elements in the returned list are instances of the Sys::Virt::DomainSnapshot class. The $flags parameter can be used to filter the list of return domain snapshots.

CONSTANTS

  SNAPSHOT CREATION
The following constants are useful when creating snapshots

Sys::Virt::DomainSnapshot::CREATE_CURRENT
    Set the defined snapshot to be the current snapshot

Sys::Virt::DomainSnapshot::CREATE_DISK_ONLY
    Only snapshot the disk, not the memory state

Sys::Virt::DomainSnapshot::CREATE_HALT
    Stop the guest after creating the snapshot

Sys::Virt::DomainSnapshot::CREATE_NO_METADATA
    Do not save any metadata for the snapshot

Sys::Virt::DomainSnapshot::CREATE_REDEFINE
    Replace/set the metadata with the snapshot

Sys::Virt::DomainSnapshot::CREATE_QUIESCE
    Quiesce the guest disks while taking the snapshot

Sys::Virt::DomainSnapshot::CREATE_REUSE_EXT
    Reuse the existing snapshot data files (if any)

Sys::Virt::DomainSnapshot::CREATE_ATOMIC
    Create multiple disk snapshots atomically

Sys::Virt::DomainSnapshot::CREATE_LIVE
    Create snapshot while the guest is running

Sys::Virt::DomainSnapshot::CREATE_VALIDATE
    Validate the XML document against the schema

  SNAPSHOT DELETION
The following constants are useful when deleting snapshots

Sys::Virt::DomainSnapshot::DELETE_CHILDREN
    Recursively delete any child snapshots

Sys::Virt::DomainSnapshot::DELETE_CHILDREN_ONLY
    Only delete the child snapshots

Sys::Virt::DomainSnapshot::DELETE_METADATA_ONLY
    Only delete the snapshot metadata

  SNAPSHOT LIST
The following constants are useful when listing snapshots

Sys::Virt::DomainSnapshot::LIST_METADATA
    Only list snapshots which have metadata

Sys::Virt::DomainSnapshot::LIST_ROOTS
    Only list snapshots which are root nodes in the tree

Sys::Virt::DomainSnapshot::LIST_DESCENDANTS
    Only list snapshots which are descendants of the current snapshot

Sys::Virt::DomainSnapshot::LIST_LEAVES
    Only list leaf nodes in the snapshot tree

Sys::Virt::DomainSnapshot::LIST_NO_LEAVES
    Only list non-leaf nodes in the snapshot tree

Sys::Virt::DomainSnapshot::LIST_NO_METADATA
    Only list snapshots without metadata

Sys::Virt::DomainSnapshot::LIST_ACTIVE
    Only list snapshots taken while the guest was running

Sys::Virt::DomainSnapshot::LIST_INACTIVE
    Only list snapshots taken while the guest was inactive

Sys::Virt::DomainSnapshot::LIST_EXTERNAL
    Only list snapshots stored in external disk images

Sys::Virt::DomainSnapshot::LIST_INTERNAL
    Only list snapshots stored in internal disk images

Sys::Virt::DomainSnapshot::LIST_DISK_ONLY
    Only list snapshots taken while the guest was running, which did not include memory state.

Sys::Virt::DomainSnapshot::LIST_TOPOLOGICAL
    Sort list in topological order wrt to parent/child relationships.

  SNAPSHOT REVERT
The following constants are useful when reverting snapshots

Sys::Virt::DomainSnapshot::REVERT_PAUSED
    Leave the guest CPUs paused after reverting to the snapshot state

Sys::Virt::DomainSnapshot::REVERT_RUNNING
    Start the guest CPUs after reverting to the snapshot state

Sys::Virt::DomainSnapshot::REVERT_FORCE
    Force the snapshot to revert, even if it is risky to do so

Sys::Virt::DomainSnapshot::REVERT_RESET_NVRAM
    Reset the firmware NVRAM state from its original template

AUTHORS
Daniel P. Berrange <berrange@redhat.com>

COPYRIGHT
Copyright (C) 2006 Red Hat Copyright (C) 2006-2007 Daniel P. Berrange

LICENSE
This program is free software; you can redistribute it and/or modify it under the terms of either the GNU General Public License as published by the Free Software Foundation (either version 2 of the License, or at your option any later version), or, the Artistic License, as specified in the Perl README file.

SEE ALSO
Sys::Virt, Sys::Virt::Error, "http://libvirt.org"