schemas: rng: Use interleave in the disk source element

Signed-off-by: Han Han <hhan@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
Han Han 2020-03-26 10:44:23 +08:00 committed by Erik Skultety
parent 17cdefe5f1
commit 8b41b21aee

View File

@ -1642,21 +1642,23 @@
</optional> </optional>
<optional> <optional>
<element name="source"> <element name="source">
<optional> <interleave>
<attribute name="file"> <optional>
<ref name="absFilePath"/> <attribute name="file">
</attribute> <ref name="absFilePath"/>
</optional> </attribute>
<ref name="diskSourceCommon"/> </optional>
<optional> <ref name="diskSourceCommon"/>
<ref name="storageStartupPolicy"/> <optional>
</optional> <ref name="storageStartupPolicy"/>
<optional> </optional>
<ref name="encryption"/> <optional>
</optional> <ref name="encryption"/>
<zeroOrMore> </optional>
<ref name='devSeclabel'/> <zeroOrMore>
</zeroOrMore> <ref name='devSeclabel'/>
</zeroOrMore>
</interleave>
</element> </element>
</optional> </optional>
</define> </define>
@ -1667,24 +1669,26 @@
</attribute> </attribute>
<optional> <optional>
<element name="source"> <element name="source">
<optional> <interleave>
<attribute name="dev"> <optional>
<ref name="absFilePath"/> <attribute name="dev">
</attribute> <ref name="absFilePath"/>
</optional> </attribute>
<ref name="diskSourceCommon"/> </optional>
<optional> <ref name="diskSourceCommon"/>
<ref name="storageStartupPolicy"/> <optional>
</optional> <ref name="storageStartupPolicy"/>
<optional> </optional>
<ref name="encryption"/> <optional>
</optional> <ref name="encryption"/>
<optional> </optional>
<ref name="reservations"/> <optional>
</optional> <ref name="reservations"/>
<zeroOrMore> </optional>
<ref name='devSeclabel'/> <zeroOrMore>
</zeroOrMore> <ref name='devSeclabel'/>
</zeroOrMore>
</interleave>
</element> </element>
</optional> </optional>
</define> </define>
@ -1695,17 +1699,19 @@
</attribute> </attribute>
<optional> <optional>
<element name="source"> <element name="source">
<attribute name="dir"> <interleave>
<ref name="absFilePath"/> <attribute name="dir">
</attribute> <ref name="absFilePath"/>
<ref name="diskSourceCommon"/> </attribute>
<optional> <ref name="diskSourceCommon"/>
<ref name="storageStartupPolicy"/> <optional>
</optional> <ref name="storageStartupPolicy"/>
<optional> </optional>
<ref name="encryption"/> <optional>
</optional> <ref name="encryption"/>
<empty/> </optional>
<empty/>
</interleave>
</element> </element>
</optional> </optional>
</define> </define>
@ -1856,138 +1862,152 @@
<define name="diskSourceNetworkProtocolHTTPS"> <define name="diskSourceNetworkProtocolHTTPS">
<element name="source"> <element name="source">
<attribute name="protocol"> <interleave>
<choice> <attribute name="protocol">
<value>https</value> <choice>
</choice> <value>https</value>
</attribute> </choice>
<attribute name="name"/> </attribute>
<ref name="diskSourceCommon"/> <attribute name="name"/>
<ref name="diskSourceNetworkHost"/> <ref name="diskSourceCommon"/>
<optional> <ref name="diskSourceNetworkHost"/>
<ref name="encryption"/> <optional>
</optional> <ref name="encryption"/>
<optional> </optional>
<ref name="diskSourceNetworkProtocolSSLVerify"/> <optional>
</optional> <ref name="diskSourceNetworkProtocolSSLVerify"/>
<optional> </optional>
<ref name="diskSourceNetworkProtocolHTTPCookies"/> <optional>
</optional> <ref name="diskSourceNetworkProtocolHTTPCookies"/>
<ref name="diskSourceNetworkProtocolPropsCommon"/> </optional>
<ref name="diskSourceNetworkProtocolPropsCommon"/>
</interleave>
</element> </element>
</define> </define>
<define name="diskSourceNetworkProtocolHTTP"> <define name="diskSourceNetworkProtocolHTTP">
<element name="source"> <element name="source">
<attribute name="protocol"> <interleave>
<choice> <attribute name="protocol">
<value>http</value> <choice>
</choice> <value>http</value>
</attribute> </choice>
<attribute name="name"/> </attribute>
<ref name="diskSourceCommon"/> <attribute name="name"/>
<ref name="diskSourceNetworkHost"/> <ref name="diskSourceCommon"/>
<optional> <ref name="diskSourceNetworkHost"/>
<ref name="encryption"/> <optional>
</optional> <ref name="encryption"/>
<optional> </optional>
<ref name="diskSourceNetworkProtocolHTTPCookies"/> <optional>
</optional> <ref name="diskSourceNetworkProtocolHTTPCookies"/>
<ref name="diskSourceNetworkProtocolPropsCommon"/> </optional>
<ref name="diskSourceNetworkProtocolPropsCommon"/>
</interleave>
</element> </element>
</define> </define>
<define name="diskSourceNetworkProtocolFTPS"> <define name="diskSourceNetworkProtocolFTPS">
<element name="source"> <element name="source">
<attribute name="protocol"> <interleave>
<choice> <attribute name="protocol">
<value>ftps</value> <choice>
</choice> <value>ftps</value>
</attribute> </choice>
<attribute name="name"/> </attribute>
<ref name="diskSourceCommon"/> <attribute name="name"/>
<ref name="diskSourceNetworkHost"/> <ref name="diskSourceCommon"/>
<optional> <ref name="diskSourceNetworkHost"/>
<ref name="encryption"/> <optional>
</optional> <ref name="encryption"/>
<optional> </optional>
<ref name="diskSourceNetworkProtocolSSLVerify"/> <optional>
</optional> <ref name="diskSourceNetworkProtocolSSLVerify"/>
<ref name="diskSourceNetworkProtocolPropsCommon"/> </optional>
<ref name="diskSourceNetworkProtocolPropsCommon"/>
</interleave>
</element> </element>
</define> </define>
<define name="diskSourceNetworkProtocolSimple"> <define name="diskSourceNetworkProtocolSimple">
<element name="source"> <element name="source">
<attribute name="protocol"> <interleave>
<choice> <attribute name="protocol">
<value>sheepdog</value> <choice>
<value>ftp</value> <value>sheepdog</value>
<value>tftp</value> <value>ftp</value>
</choice> <value>tftp</value>
</attribute> </choice>
<attribute name="name"/> </attribute>
<ref name="diskSourceCommon"/> <attribute name="name"/>
<ref name="diskSourceNetworkHost"/> <ref name="diskSourceCommon"/>
<optional> <ref name="diskSourceNetworkHost"/>
<ref name="encryption"/> <optional>
</optional> <ref name="encryption"/>
<ref name="diskSourceNetworkProtocolPropsCommon"/> </optional>
<ref name="diskSourceNetworkProtocolPropsCommon"/>
</interleave>
</element> </element>
</define> </define>
<define name="diskSourceNetworkProtocolNBD"> <define name="diskSourceNetworkProtocolNBD">
<element name="source"> <element name="source">
<attribute name="protocol"> <interleave>
<value>nbd</value> <attribute name="protocol">
</attribute> <value>nbd</value>
<optional>
<attribute name="name"/>
</optional>
<optional>
<attribute name="tls">
<ref name="virYesNo"/>
</attribute> </attribute>
</optional> <optional>
<ref name="diskSourceCommon"/> <attribute name="name"/>
<ref name="diskSourceNetworkHost"/> </optional>
<optional> <optional>
<ref name="encryption"/> <attribute name="tls">
</optional> <ref name="virYesNo"/>
</attribute>
</optional>
<ref name="diskSourceCommon"/>
<ref name="diskSourceNetworkHost"/>
<optional>
<ref name="encryption"/>
</optional>
</interleave>
</element> </element>
</define> </define>
<define name="diskSourceNetworkProtocolGluster"> <define name="diskSourceNetworkProtocolGluster">
<element name="source"> <element name="source">
<attribute name="protocol"> <interleave>
<value>gluster</value> <attribute name="protocol">
</attribute> <value>gluster</value>
<attribute name="name"/> </attribute>
<ref name="diskSourceCommon"/> <attribute name="name"/>
<oneOrMore> <ref name="diskSourceCommon"/>
<ref name="diskSourceNetworkHost"/> <oneOrMore>
</oneOrMore> <ref name="diskSourceNetworkHost"/>
<optional> </oneOrMore>
<ref name="encryption"/> <optional>
</optional> <ref name="encryption"/>
</optional>
</interleave>
</element> </element>
</define> </define>
<define name="diskSourceNetworkProtocolVxHS"> <define name="diskSourceNetworkProtocolVxHS">
<element name="source"> <element name="source">
<attribute name="protocol"> <interleave>
<choice> <attribute name="protocol">
<value>vxhs</value> <choice>
</choice> <value>vxhs</value>
</attribute> </choice>
<attribute name="name"/>
<ref name="diskSourceCommon"/>
<optional>
<attribute name="tls">
<ref name="virYesNo"/>
</attribute> </attribute>
</optional> <attribute name="name"/>
<ref name="diskSourceNetworkHost"/> <ref name="diskSourceCommon"/>
<optional>
<attribute name="tls">
<ref name="virYesNo"/>
</attribute>
</optional>
<ref name="diskSourceNetworkHost"/>
</interleave>
</element> </element>
</define> </define>
@ -2014,30 +2034,32 @@
</attribute> </attribute>
<optional> <optional>
<element name="source"> <element name="source">
<attribute name="pool"> <interleave>
<ref name="poolName"/> <attribute name="pool">
</attribute> <ref name="poolName"/>
<attribute name="volume">
<ref name="volName"/>
</attribute>
<optional>
<attribute name="mode">
<choice>
<value>host</value>
<value>direct</value>
</choice>
</attribute> </attribute>
</optional> <attribute name="volume">
<ref name="diskSourceCommon"/> <ref name="volName"/>
<optional> </attribute>
<ref name="storageStartupPolicy"/> <optional>
</optional> <attribute name="mode">
<optional> <choice>
<ref name="encryption"/> <value>host</value>
</optional> <value>direct</value>
<zeroOrMore> </choice>
<ref name='devSeclabel'/> </attribute>
</zeroOrMore> </optional>
<ref name="diskSourceCommon"/>
<optional>
<ref name="storageStartupPolicy"/>
</optional>
<optional>
<ref name="encryption"/>
</optional>
<zeroOrMore>
<ref name='devSeclabel'/>
</zeroOrMore>
</interleave>
</element> </element>
</optional> </optional>
</define> </define>
@ -2048,27 +2070,29 @@
</attribute> </attribute>
<optional> <optional>
<element name="source"> <element name="source">
<attribute name="type"> <interleave>
<value>pci</value> <attribute name="type">
</attribute> <value>pci</value>
<attribute name="namespace">
<ref name="uint32"/>
</attribute>
<optional>
<attribute name="managed">
<ref name="virYesNo"/>
</attribute> </attribute>
</optional> <attribute name="namespace">
<element name="address"> <ref name="uint32"/>
<ref name="pciaddress"/> </attribute>
</element> <optional>
<ref name="diskSourceCommon"/> <attribute name="managed">
<optional> <ref name="virYesNo"/>
<ref name="storageStartupPolicy"/> </attribute>
</optional> </optional>
<optional> <element name="address">
<ref name="encryption"/> <ref name="pciaddress"/>
</optional> </element>
<ref name="diskSourceCommon"/>
<optional>
<ref name="storageStartupPolicy"/>
</optional>
<optional>
<ref name="encryption"/>
</optional>
</interleave>
</element> </element>
</optional> </optional>
</define> </define>