mirror of https://gitee.com/openkylin/libvirt.git
197 lines
5.3 KiB
XML
197 lines
5.3 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>
|
|
<!-- Nested grammar ensures that any of our overrides of
|
|
storagecommon/domaincommon defines do not conflict
|
|
with any domain.rng overrides. -->
|
|
<grammar>
|
|
<include href='domain.rng'/>
|
|
</grammar>
|
|
</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='storageSourceExtra' combine='choice'>
|
|
<!-- overrides the no-op version in storagecommon.rng -->
|
|
<ref name='disksnapshotdriver'/>
|
|
</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>
|
|
<optional>
|
|
<ref name='storageStartupPolicy'/>
|
|
</optional>
|
|
<empty/>
|
|
</element>
|
|
</optional>
|
|
<ref name='storageSourceExtra'/>
|
|
</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='storageSourceExtra'/>
|
|
</interleave>
|
|
</group>
|
|
<ref name='diskSourceNetwork'/>
|
|
</choice>
|
|
</group>
|
|
</choice>
|
|
</element>
|
|
</define>
|
|
|
|
<define name='disksnapshotdriver'>
|
|
<optional>
|
|
<element name='driver'>
|
|
<optional>
|
|
<attribute name='type'>
|
|
<ref name='storageFormatBacking'/>
|
|
</attribute>
|
|
</optional>
|
|
<empty/>
|
|
</element>
|
|
</optional>
|
|
</define>
|
|
|
|
</grammar>
|