summaryrefslogtreecommitdiffstats
path: root/schemas/metadata.xsd
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-07-30 10:24:12 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-07-30 10:24:12 -0400
commit8b438fda3ae2d9516dbfb6014c280b68036c17e1 (patch)
treeb8acb22b313e4b57797a227b42f69b95b54bd976 /schemas/metadata.xsd
parent7a008a0b1b4d3b819da5a6544ac15faab3cbb28a (diff)
downloadbcfg2-8b438fda3ae2d9516dbfb6014c280b68036c17e1.tar.gz
bcfg2-8b438fda3ae2d9516dbfb6014c280b68036c17e1.tar.bz2
bcfg2-8b438fda3ae2d9516dbfb6014c280b68036c17e1.zip
Metadata and other improvements:
* Added support for Client tag in groups.xml * Added support for nested Group tags in groups.xml * Added support for negated groups in groups.xml * Added DatabaseBacked plugin mixin to easily allow plugins to connect to a database specified in global database settings in bcfg2.conf * Added DBMetadata plugin that uses relational DB to store client records instead of writing to clients.xml
Diffstat (limited to 'schemas/metadata.xsd')
-rw-r--r--schemas/metadata.xsd53
1 files changed, 33 insertions, 20 deletions
diff --git a/schemas/metadata.xsd b/schemas/metadata.xsd
index f79039d25..c3cb46b28 100644
--- a/schemas/metadata.xsd
+++ b/schemas/metadata.xsd
@@ -1,6 +1,6 @@
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xi="http://www.w3.org/2001/XInclude" xml:lang="en">
-
+
<xsd:annotation>
<xsd:documentation>
metadata schema for bcfg2
@@ -13,38 +13,51 @@
<xsd:import namespace="http://www.w3.org/2001/XInclude"
schemaLocation="xinclude.xsd"/>
+ <xsd:complexType name='bundleDeclaration'>
+ <xsd:attribute type='xsd:string' name='name' use='required'/>
+ </xsd:complexType>
+
<xsd:complexType name='groupType'>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Bundle'>
- <xsd:complexType>
- <xsd:attribute type='xsd:string' name='name' use='required'/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name='Group' >
- <xsd:complexType>
- <xsd:attribute name='name' use='required'/>
- </xsd:complexType>
- </xsd:element>
+ <xsd:element name='Bundle' type='bundleDeclaration'/>
+ <xsd:element name='Group' type='groupType'/>
+ <xsd:element name='Client' type='clientType'/>
+ <xsd:element name='Groups' type='groupsType'/>
+ <xsd:element name='Options' type='optionsType'/>
+ </xsd:choice>
+ <xsd:attribute type='xsd:string' name='name' use='required'/>
+ <xsd:attribute type='xsd:boolean' name='profile'/>
+ <xsd:attribute type='xsd:boolean' name='public'/>
+ <xsd:attribute type='xsd:boolean' name='default'/>
+ <xsd:attribute type='xsd:string' name='auth'/>
+ <xsd:attribute type='xsd:string' name='category'/>
+ <xsd:attribute type='xsd:string' name='comment'/>
+ <xsd:attribute type='xsd:string' name='negate'/>
+ </xsd:complexType>
+
+ <xsd:complexType name='clientType'>
+ <xsd:choice minOccurs='0' maxOccurs='unbounded'>
+ <xsd:element name='Bundle' type='bundleDeclaration'/>
+ <xsd:element name='Group' type='groupType'/>
+ <xsd:element name='Client' type='clientType'/>
+ <xsd:element name='Groups' type='groupsType'/>
+ <xsd:element name='Options' type='optionsType'/>
</xsd:choice>
- <xsd:attribute type='xsd:boolean' name='profile' use='optional'/>
- <xsd:attribute type='xsd:boolean' name='public' use='optional'/>
- <xsd:attribute type='xsd:boolean' name='default' use='optional'/>
<xsd:attribute type='xsd:string' name='name' use='required'/>
- <xsd:attribute type='xsd:string' name='auth' use='optional'/>
- <xsd:attribute type='xsd:string' name='category' use='optional'/>
- <xsd:attribute type='xsd:string' name='comment' use='optional'/>
+ <xsd:attribute type='xsd:string' name='negate'/>
</xsd:complexType>
<xsd:complexType name='groupsType'>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
<xsd:element name='Group' type='groupType'/>
+ <xsd:element name='Client' type='clientType'/>
<xsd:element name='Groups' type='groupsType'/>
<xsd:element ref="xi:include"/>
</xsd:choice>
<xsd:attribute name='version' type='xsd:string'/>
- <xsd:attribute name='origin' type='xsd:string'/>
- <xsd:attribute name='revision' type='xsd:string'/>
- <xsd:attribute ref='xml:base'/>
+ <xsd:attribute name='origin' type='xsd:string'/>
+ <xsd:attribute name='revision' type='xsd:string'/>
+ <xsd:attribute ref='xml:base'/>
</xsd:complexType>
<xsd:element name='Groups' type='groupsType'/>