summaryrefslogtreecommitdiffstats
path: root/src/main/resources/libvirt/rng/secret.rng
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/libvirt/rng/secret.rng')
-rw-r--r--src/main/resources/libvirt/rng/secret.rng94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/main/resources/libvirt/rng/secret.rng b/src/main/resources/libvirt/rng/secret.rng
new file mode 100644
index 0000000..c90e2eb
--- /dev/null
+++ b/src/main/resources/libvirt/rng/secret.rng
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<!-- A Relax NG schema for the libvirt secret properties XML format -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <start>
+ <ref name="secret"/>
+ </start>
+
+ <include href="basictypes.rng"/>
+
+ <define name="secret">
+ <element name="secret">
+ <optional>
+ <attribute name="ephemeral">
+ <ref name="virYesNo"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="private">
+ <ref name="virYesNo"/>
+ </attribute>
+ </optional>
+ <interleave>
+ <optional>
+ <element name="uuid">
+ <ref name="UUID"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="description">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="usage">
+ <choice>
+ <ref name="usagevolume"/>
+ <ref name="usageceph"/>
+ <ref name="usageiscsi"/>
+ <ref name="usagetls"/>
+ <ref name="usagevtpm"/>
+ <!-- More choices later -->
+ </choice>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name="usagevolume">
+ <attribute name="type">
+ <value>volume</value>
+ </attribute>
+ <element name="volume">
+ <ref name="absFilePath"/>
+ </element>
+ </define>
+
+ <define name="usageceph">
+ <attribute name="type">
+ <value>ceph</value>
+ </attribute>
+ <element name="name">
+ <ref name="objectName"/>
+ </element>
+ </define>
+
+ <define name="usageiscsi">
+ <attribute name="type">
+ <value>iscsi</value>
+ </attribute>
+ <element name="target">
+ <ref name="objectName"/>
+ </element>
+ </define>
+
+ <define name="usagetls">
+ <attribute name="type">
+ <value>tls</value>
+ </attribute>
+ <element name="name">
+ <ref name="objectName"/>
+ </element>
+ </define>
+
+ <define name="usagevtpm">
+ <attribute name="type">
+ <value>vtpm</value>
+ </attribute>
+ <element name="name">
+ <ref name="objectName"/>
+ </element>
+ </define>
+
+</grammar>