2019-08-22 01:42:41 +00:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<!-- A Relax NG schema for the libvirt domain backup properties XML format -->
|
|
|
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
|
|
|
|
<start>
|
|
|
|
<ref name='domainbackup'/>
|
|
|
|
</start>
|
|
|
|
|
|
|
|
<include href='domaincommon.rng'/>
|
|
|
|
|
2020-04-09 13:50:40 +00:00
|
|
|
<define name='backupEncryption'>
|
|
|
|
<element name='encryption'>
|
|
|
|
<attribute name='format'>
|
|
|
|
<choice>
|
|
|
|
<value>luks</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<ref name='secret'/>
|
|
|
|
<optional>
|
|
|
|
<element name='cipher'>
|
|
|
|
<ref name='keycipher'/>
|
|
|
|
</element>
|
|
|
|
<element name='ivgen'>
|
|
|
|
<ref name='keyivgen'/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2019-08-22 01:42:41 +00:00
|
|
|
<define name='domainbackup'>
|
|
|
|
<element name='domainbackup'>
|
|
|
|
<interleave>
|
|
|
|
<optional>
|
|
|
|
<element name='incremental'>
|
|
|
|
<text/>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<choice>
|
|
|
|
<group>
|
|
|
|
<optional>
|
|
|
|
<attribute name='mode'>
|
|
|
|
<value>push</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<ref name='backupDisksPush'/>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<attribute name='mode'>
|
|
|
|
<value>pull</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<element name='server'>
|
2020-07-01 10:25:42 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name='tls'>
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2019-08-22 01:42:41 +00:00
|
|
|
<choice>
|
|
|
|
<group>
|
|
|
|
<optional>
|
|
|
|
<attribute name='transport'>
|
|
|
|
<value>tcp</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<attribute name='name'>
|
|
|
|
<choice>
|
|
|
|
<ref name='dnsName'/>
|
|
|
|
<ref name='ipAddr'/>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name='port'>
|
|
|
|
<ref name='unsignedInt'/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<attribute name='transport'>
|
|
|
|
<value>unix</value>
|
|
|
|
</attribute>
|
|
|
|
<attribute name='socket'>
|
|
|
|
<ref name='absFilePath'/>
|
|
|
|
</attribute>
|
|
|
|
</group>
|
|
|
|
</choice>
|
|
|
|
</element>
|
|
|
|
<ref name='backupDisksPull'/>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
|
|
|
</choice>
|
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
|
2020-06-25 14:16:14 +00:00
|
|
|
|
|
|
|
<define name='backupDiskMode'>
|
|
|
|
<optional>
|
|
|
|
<choice>
|
|
|
|
<attribute name='backupmode'>
|
|
|
|
<value>full</value>
|
|
|
|
</attribute>
|
|
|
|
<group>
|
|
|
|
<optional>
|
|
|
|
<attribute name='backupmode'>
|
|
|
|
<value>incremental</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name='incremental'/>
|
|
|
|
</optional>
|
|
|
|
</group>
|
|
|
|
</choice>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
2019-08-22 01:42:41 +00:00
|
|
|
<define name='backupPushDriver'>
|
|
|
|
<optional>
|
|
|
|
<element name='driver'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<ref name='storageFormat'/>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='backupPullDriver'>
|
|
|
|
<optional>
|
|
|
|
<element name='driver'>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>qcow2</value>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='backupAttr'>
|
|
|
|
<optional>
|
|
|
|
<attribute name='backup'>
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='backupDisksPush'>
|
|
|
|
<optional>
|
|
|
|
<element name='disks'>
|
|
|
|
<oneOrMore>
|
|
|
|
<element name='disk'>
|
|
|
|
<attribute name='name'>
|
2019-12-20 10:27:37 +00:00
|
|
|
<ref name='diskTarget'/>
|
2019-08-22 01:42:41 +00:00
|
|
|
</attribute>
|
2020-06-25 14:16:14 +00:00
|
|
|
<ref name='backupDiskMode'/>
|
2019-08-22 01:42:41 +00:00
|
|
|
<choice>
|
|
|
|
<group>
|
|
|
|
<attribute name='backup'>
|
|
|
|
<value>no</value>
|
|
|
|
</attribute>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<ref name='backupAttr'/>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>file</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<optional>
|
|
|
|
<element name='target'>
|
|
|
|
<attribute name='file'>
|
|
|
|
<ref name='absFilePath'/>
|
|
|
|
</attribute>
|
2020-04-09 13:50:40 +00:00
|
|
|
<interleave>
|
|
|
|
<zeroOrMore>
|
|
|
|
<ref name='devSeclabel'/>
|
|
|
|
</zeroOrMore>
|
|
|
|
<optional>
|
|
|
|
<ref name='backupEncryption'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2019-08-22 01:42:41 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<ref name='backupPushDriver'/>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<ref name='backupAttr'/>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>block</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<optional>
|
|
|
|
<element name='target'>
|
|
|
|
<attribute name='dev'>
|
|
|
|
<ref name='absFilePath'/>
|
|
|
|
</attribute>
|
2020-04-09 13:50:40 +00:00
|
|
|
<interleave>
|
|
|
|
<zeroOrMore>
|
|
|
|
<ref name='devSeclabel'/>
|
|
|
|
</zeroOrMore>
|
|
|
|
<optional>
|
|
|
|
<ref name='backupEncryption'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2019-08-22 01:42:41 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
<ref name='backupPushDriver'/>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
|
|
|
</choice>
|
|
|
|
</element>
|
|
|
|
</oneOrMore>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
<define name='backupDisksPull'>
|
|
|
|
<optional>
|
|
|
|
<element name='disks'>
|
|
|
|
<oneOrMore>
|
|
|
|
<element name='disk'>
|
|
|
|
<attribute name='name'>
|
2019-12-20 10:27:37 +00:00
|
|
|
<ref name='diskTarget'/>
|
2019-08-22 01:42:41 +00:00
|
|
|
</attribute>
|
2020-06-25 14:16:14 +00:00
|
|
|
<ref name='backupDiskMode'/>
|
2019-12-20 10:37:40 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name='exportname'>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
2020-04-24 08:37:54 +00:00
|
|
|
</optional>
|
|
|
|
<optional>
|
2019-12-20 10:37:40 +00:00
|
|
|
<attribute name='exportbitmap'>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2019-08-22 01:42:41 +00:00
|
|
|
<choice>
|
|
|
|
<group>
|
|
|
|
<attribute name='backup'>
|
|
|
|
<value>no</value>
|
|
|
|
</attribute>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<optional>
|
|
|
|
<ref name='backupAttr'/>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>file</value>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<interleave>
|
|
|
|
<element name='scratch'>
|
|
|
|
<attribute name='file'>
|
|
|
|
<ref name='absFilePath'/>
|
|
|
|
</attribute>
|
2020-04-09 13:50:40 +00:00
|
|
|
<interleave>
|
|
|
|
<zeroOrMore>
|
|
|
|
<ref name='devSeclabel'/>
|
|
|
|
</zeroOrMore>
|
|
|
|
<optional>
|
|
|
|
<ref name='backupEncryption'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2019-08-22 01:42:41 +00:00
|
|
|
</element>
|
|
|
|
<ref name='backupPullDriver'/>
|
|
|
|
</interleave>
|
|
|
|
</optional>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<ref name='backupAttr'/>
|
|
|
|
<attribute name='type'>
|
|
|
|
<value>block</value>
|
|
|
|
</attribute>
|
|
|
|
<interleave>
|
|
|
|
<element name='scratch'>
|
|
|
|
<attribute name='dev'>
|
|
|
|
<ref name='absFilePath'/>
|
|
|
|
</attribute>
|
2020-04-09 13:50:40 +00:00
|
|
|
<interleave>
|
|
|
|
<zeroOrMore>
|
|
|
|
<ref name='devSeclabel'/>
|
|
|
|
</zeroOrMore>
|
|
|
|
<optional>
|
|
|
|
<ref name='backupEncryption'/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
2019-08-22 01:42:41 +00:00
|
|
|
</element>
|
|
|
|
<ref name='backupPullDriver'/>
|
|
|
|
</interleave>
|
|
|
|
</group>
|
|
|
|
</choice>
|
|
|
|
</element>
|
|
|
|
</oneOrMore>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</define>
|
|
|
|
|
|
|
|
</grammar>
|