diff options
Diffstat (limited to 'src/main/resources/libvirt/rng/domainsnapshot.rng')
-rw-r--r-- | src/main/resources/libvirt/rng/domainsnapshot.rng | 246 |
1 files changed, 246 insertions, 0 deletions
diff --git a/src/main/resources/libvirt/rng/domainsnapshot.rng b/src/main/resources/libvirt/rng/domainsnapshot.rng new file mode 100644 index 0000000..45f01b9 --- /dev/null +++ b/src/main/resources/libvirt/rng/domainsnapshot.rng @@ -0,0 +1,246 @@ +<?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> + <grammar> + <include href="inactiveDomain.rng"/> + </grammar> + </optional> + <optional> + <element name="parent"> + <element name="name"> + <text/> + </element> + </element> + </optional> + <optional> + <element name="cookie"> + <zeroOrMore> + <ref name="customElement"/> + </zeroOrMore> + </element> + </optional> + </interleave> + </element> + </define> + + <define name="state"> + <choice> + <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="snapshotDeleteInProgress"> + <optional> + <element name="snapshotDeleteInProgress"> + <empty/> + </element> + </optional> + </define> + + <define name="disksnapshot"> + <element name="disk"> + <attribute name="name"> + <choice> + <ref name="diskTargetDev"/> + <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> + <zeroOrMore> + <ref name="devSeclabel"/> + </zeroOrMore> + <optional> + <ref name="diskSourceCommon"/> + </optional> + <optional> + <ref name="encryption"/> + </optional> + <empty/> + </element> + </optional> + <ref name="storageSourceExtra"/> + <ref name="snapshotDeleteInProgress"/> + </interleave> + </group> + <group> + <attribute name="type"> + <value>block</value> + </attribute> + <interleave> + <optional> + <element name="source"> + <attribute name="dev"> + <ref name="absFilePath"/> + </attribute> + <zeroOrMore> + <ref name="devSeclabel"/> + </zeroOrMore> + <optional> + <ref name="diskSourceCommon"/> + </optional> + <optional> + <ref name="encryption"/> + </optional> + <empty/> + </element> + </optional> + <ref name="storageSourceExtra"/> + <ref name="snapshotDeleteInProgress"/> + </interleave> + </group> + <ref name="diskSourceNetwork"/> + </choice> + </group> + <attribute name="snapshot"> + <value>manual</value> + </attribute> + </choice> + </element> + </define> + + <define name="disksnapshotdriver"> + <optional> + <element name="driver"> + <optional> + <attribute name="type"> + <ref name="storageFormatBacking"/> + </attribute> + </optional> + <optional> + <element name="metadata_cache"> + <optional> + <element name="max_size"> + <ref name="scaledInteger"/> + </element> + </optional> + </element> + </optional> + </element> + </optional> + </define> + +</grammar> |