mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-03 20:01:16 +00:00
7076b4b72c
Add support for specifying various types when doing snapshots. This will later allow to do snapshots on network backed volumes. Disks of type 'volume' are not supported by snapshots (yet). Also amend the test suite to check parsing of the various new disk types that can now be specified.
196 lines
5.1 KiB
XML
196 lines
5.1 KiB
XML
<?xml version="1.0"?>
|
|
<!-- A Relax NG schema for the libvirt domain snapshot properties XML format -->
|
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
|
|
<start>
|
|
<ref name='domainsnapshot'/>
|
|
</start>
|
|
|
|
<include href='domaincommon.rng'/>
|
|
|
|
<define name='domainsnapshot'>
|
|
<element name='domainsnapshot'>
|
|
<interleave>
|
|
<optional>
|
|
<element name='name'>
|
|
<text/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name='description'>
|
|
<text/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name='state'>
|
|
<ref name='state'/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name='creationTime'>
|
|
<text/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name='memory'>
|
|
<choice>
|
|
<attribute name='snapshot'>
|
|
<choice>
|
|
<value>no</value>
|
|
<value>internal</value>
|
|
</choice>
|
|
</attribute>
|
|
<group>
|
|
<optional>
|
|
<attribute name='snapshot'>
|
|
<value>external</value>
|
|
</attribute>
|
|
</optional>
|
|
<attribute name='file'>
|
|
<ref name='absFilePath'/>
|
|
</attribute>
|
|
</group>
|
|
</choice>
|
|
<empty/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name='disks'>
|
|
<zeroOrMore>
|
|
<ref name='disksnapshot'/>
|
|
</zeroOrMore>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name='active'>
|
|
<choice>
|
|
<value>0</value>
|
|
<value>1</value>
|
|
</choice>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<choice>
|
|
<element name='domain'>
|
|
<element name='uuid'>
|
|
<ref name="UUID"/>
|
|
</element>
|
|
</element>
|
|
<ref name='domain'/>
|
|
</choice>
|
|
</optional>
|
|
<optional>
|
|
<element name='parent'>
|
|
<element name='name'>
|
|
<text/>
|
|
</element>
|
|
</element>
|
|
</optional>
|
|
</interleave>
|
|
</element>
|
|
</define>
|
|
|
|
<define name='state'>
|
|
<choice>
|
|
<value>nostate</value>
|
|
<value>running</value>
|
|
<value>blocked</value>
|
|
<value>paused</value>
|
|
<value>shutdown</value>
|
|
<value>shutoff</value>
|
|
<value>crashed</value>
|
|
<value>disk-snapshot</value>
|
|
</choice>
|
|
</define>
|
|
|
|
<define name='disksnapshot'>
|
|
<element name='disk'>
|
|
<attribute name='name'>
|
|
<choice>
|
|
<ref name='diskTarget'/>
|
|
<ref name='absFilePath'/>
|
|
</choice>
|
|
</attribute>
|
|
<choice>
|
|
<attribute name='snapshot'>
|
|
<value>no</value>
|
|
</attribute>
|
|
<attribute name='snapshot'>
|
|
<value>internal</value>
|
|
</attribute>
|
|
<group>
|
|
<optional>
|
|
<attribute name='snapshot'>
|
|
<value>external</value>
|
|
</attribute>
|
|
</optional>
|
|
<choice>
|
|
<group>
|
|
<optional>
|
|
<attribute name='type'>
|
|
<value>file</value>
|
|
</attribute>
|
|
</optional>
|
|
<interleave>
|
|
<optional>
|
|
<element name='source'>
|
|
<optional>
|
|
<attribute name='file'>
|
|
<ref name='absFilePath'/>
|
|
</attribute>
|
|
</optional>
|
|
<empty/>
|
|
</element>
|
|
</optional>
|
|
<ref name='disksnapshotdriver'/>
|
|
</interleave>
|
|
</group>
|
|
<group>
|
|
<attribute name='type'>
|
|
<value>block</value>
|
|
</attribute>
|
|
<interleave>
|
|
<optional>
|
|
<element name="source">
|
|
<attribute name="dev">
|
|
<ref name="absFilePath"/>
|
|
</attribute>
|
|
<empty/>
|
|
</element>
|
|
</optional>
|
|
<ref name='disksnapshotdriver'/>
|
|
</interleave>
|
|
</group>
|
|
<group>
|
|
<attribute name="type">
|
|
<value>network</value>
|
|
</attribute>
|
|
<interleave>
|
|
<optional>
|
|
<element name="source">
|
|
<ref name='diskSourceNetwork'/>
|
|
</element>
|
|
</optional>
|
|
<ref name='disksnapshotdriver'/>
|
|
</interleave>
|
|
</group>
|
|
</choice>
|
|
</group>
|
|
</choice>
|
|
</element>
|
|
</define>
|
|
|
|
<define name='disksnapshotdriver'>
|
|
<optional>
|
|
<element name='driver'>
|
|
<optional>
|
|
<attribute name='type'>
|
|
<ref name='storageFormat'/>
|
|
</attribute>
|
|
</optional>
|
|
<empty/>
|
|
</element>
|
|
</optional>
|
|
</define>
|
|
|
|
</grammar>
|