summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSol Jerome <solj@ices.utexas.edu>2009-02-27 19:52:17 +0000
committerSol Jerome <solj@ices.utexas.edu>2009-02-27 19:52:17 +0000
commit0ddc77cdd798577b3ecbdf047ceda7be58349cd8 (patch)
tree28dc8cf9c94967f15efa9898a18880433986e64a
parentea3942c692ddbb14a0e702f6d50ca9d03431e47c (diff)
downloadbcfg2-0ddc77cdd798577b3ecbdf047ceda7be58349cd8.tar.gz
bcfg2-0ddc77cdd798577b3ecbdf047ceda7be58349cd8.tar.bz2
bcfg2-0ddc77cdd798577b3ecbdf047ceda7be58349cd8.zip
Add BoundEntry support to bundle schema
Signed-off-by: Sol Jerome <solj@ices.utexas.edu> git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5090 ce84e21b-d406-0410-9b95-82705330c041
-rw-r--r--schemas/atom.xsd2
-rw-r--r--schemas/base.xsd2
-rw-r--r--schemas/bundle.xsd29
-rw-r--r--schemas/clients.xsd2
-rw-r--r--schemas/deps.xsd16
-rw-r--r--schemas/info.xsd4
-rw-r--r--schemas/metadata.xsd12
-rw-r--r--schemas/pkglist.xsd52
-rw-r--r--schemas/pkgtype.xsd55
-rw-r--r--schemas/rules.xsd52
-rw-r--r--schemas/services.xsd34
-rw-r--r--schemas/servicetype.xsd31
-rw-r--r--schemas/translation.xsd14
13 files changed, 158 insertions, 147 deletions
diff --git a/schemas/atom.xsd b/schemas/atom.xsd
index b1cf72dbb..94d70fed7 100644
--- a/schemas/atom.xsd
+++ b/schemas/atom.xsd
@@ -12,4 +12,4 @@
<xsd:attribute type='xsd:string' name='altsrc' />
</xsd:complexType>
-</xsd:schema> \ No newline at end of file
+</xsd:schema>
diff --git a/schemas/base.xsd b/schemas/base.xsd
index 1ec830054..f3751dfa7 100644
--- a/schemas/base.xsd
+++ b/schemas/base.xsd
@@ -27,7 +27,7 @@
<xsd:element name='Base'>
<xsd:complexType>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Group' type='ContainerType'/>
+ <xsd:element name='Group' type='ContainerType'/>
<xsd:element name='Package' type='StructureEntry'/>
<xsd:element name='Service' type='StructureEntry'/>
<xsd:element name='ConfigFile' type='StructureEntry'/>
diff --git a/schemas/bundle.xsd b/schemas/bundle.xsd
index 323a640f1..3c0bc1eb8 100644
--- a/schemas/bundle.xsd
+++ b/schemas/bundle.xsd
@@ -8,6 +8,9 @@
</xsd:annotation>
<xsd:include schemaLocation="atom.xsd"/>
+ <xsd:include schemaLocation="pkglist.xsd"/>
+ <xsd:include schemaLocation="rules.xsd"/>
+ <xsd:include schemaLocation="services.xsd"/>
<xsd:complexType name='GroupType'>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
@@ -18,6 +21,12 @@
<xsd:element name='SymLink' type='StructureEntry'/>
<xsd:element name='Permissions' type='StructureEntry'/>
<xsd:element name='Action' type='StructureEntry'/>
+ <xsd:element name='BoundPackage' type='PackageType'/>
+ <xsd:element name='BoundService' type='ServiceType'/>
+ <xsd:element name='BoundDirectory' type='DirectoryType'/>
+ <xsd:element name='BoundSymLink' type='SymLinkType'/>
+ <xsd:element name='BoundPermissions' type='PermissionsType'/>
+ <xsd:element name='BoundAction' type='ActionType'/>
<xsd:element name='Group' type='GroupType'/>
</xsd:choice>
<xsd:attribute type='xsd:string' name='name' use='required'/>
@@ -27,14 +36,20 @@
<xsd:element name='Bundle'>
<xsd:complexType>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Package' type='StructureEntry'/>
- <xsd:element name='Service' type='StructureEntry'/>
- <xsd:element name='ConfigFile' type='StructureEntry'/>
- <xsd:element name='Directory' type='StructureEntry'/>
- <xsd:element name='SymLink' type='StructureEntry'/>
- <xsd:element name='Permissions' type='StructureEntry'/>
+ <xsd:element name='Package' type='StructureEntry'/>
+ <xsd:element name='Service' type='StructureEntry'/>
+ <xsd:element name='ConfigFile' type='StructureEntry'/>
+ <xsd:element name='Directory' type='StructureEntry'/>
+ <xsd:element name='SymLink' type='StructureEntry'/>
+ <xsd:element name='Permissions' type='StructureEntry'/>
<xsd:element name='Action' type='StructureEntry'/>
- <xsd:element name='Group' type='GroupType'/>
+ <xsd:element name='BoundPackage' type='PackageType'/>
+ <xsd:element name='BoundService' type='ServiceType'/>
+ <xsd:element name='BoundDirectory' type='DirectoryType'/>
+ <xsd:element name='BoundSymLink' type='SymLinkType'/>
+ <xsd:element name='BoundPermissions' type='PermissionsType'/>
+ <xsd:element name='BoundAction' type='ActionType'/>
+ <xsd:element name='Group' type='GroupType'/>
</xsd:choice>
<xsd:attribute type='xsd:string' name='name'/>
<xsd:attribute type='xsd:string' name='version'/>
diff --git a/schemas/clients.xsd b/schemas/clients.xsd
index d7701f837..3464921e6 100644
--- a/schemas/clients.xsd
+++ b/schemas/clients.xsd
@@ -31,7 +31,7 @@
<xsd:element name='Clients'>
<xsd:complexType>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Client' type='ClientType'/>
+ <xsd:element name='Client' type='ClientType'/>
<xsd:element name='Clients'>
<xsd:complexType>
<xsd:choice>
diff --git a/schemas/deps.xsd b/schemas/deps.xsd
index 5b47af133..ab38c3aec 100644
--- a/schemas/deps.xsd
+++ b/schemas/deps.xsd
@@ -35,15 +35,15 @@
<xsd:element name='Dependencies'>
<xsd:complexType>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Package' type='StructureEntry'/>
- <xsd:element name='Service' type='StructureEntry'/>
- <xsd:element name='ConfigFile' type='StructureEntry'/>
- <xsd:element name='Directory' type='StructureEntry'/>
- <xsd:element name='SymLink' type='StructureEntry'/>
- <xsd:element name='Permission' type='StructureEntry'/>
- <xsd:element name='Group' type='GroupType'/>
+ <xsd:element name='Package' type='StructureEntry'/>
+ <xsd:element name='Service' type='StructureEntry'/>
+ <xsd:element name='ConfigFile' type='StructureEntry'/>
+ <xsd:element name='Directory' type='StructureEntry'/>
+ <xsd:element name='SymLink' type='StructureEntry'/>
+ <xsd:element name='Permission' type='StructureEntry'/>
+ <xsd:element name='Group' type='GroupType'/>
</xsd:choice>
<xsd:attribute type='xsd:string' name='priority' use='required'/>
</xsd:complexType>
</xsd:element>
-</xsd:schema> \ No newline at end of file
+</xsd:schema>
diff --git a/schemas/info.xsd b/schemas/info.xsd
index 95d786ed9..347a29efa 100644
--- a/schemas/info.xsd
+++ b/schemas/info.xsd
@@ -27,8 +27,8 @@
<xsd:element name='FileInfo'>
<xsd:complexType>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Group' type='GroupType'/>
- <xsd:element name='Info' type='InfoType'/>
+ <xsd:element name='Group' type='GroupType'/>
+ <xsd:element name='Info' type='InfoType'/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
diff --git a/schemas/metadata.xsd b/schemas/metadata.xsd
index 9cb2e08f1..639dc94bc 100644
--- a/schemas/metadata.xsd
+++ b/schemas/metadata.xsd
@@ -27,14 +27,14 @@
<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: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:complexType>
+ <xsd:attribute name='name' use='required'/>
+ </xsd:complexType>
</xsd:element>
</xsd:choice>
<xsd:attribute type='booleanType' name='profile' use='optional'/>
diff --git a/schemas/pkglist.xsd b/schemas/pkglist.xsd
index d4828716a..b92764751 100644
--- a/schemas/pkglist.xsd
+++ b/schemas/pkglist.xsd
@@ -8,56 +8,14 @@
</xsd:documentation>
</xsd:annotation>
+ <xsd:include schemaLocation="pkgtype.xsd"/>
<xsd:include schemaLocation="types.xsd"/>
- <xsd:complexType name='PackageType'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Ignore'>
- <xsd:complexType>
- <xsd:attribute type='xsd:string' name='name'/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name='Instance'>
- <xsd:complexType>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Ignore'>
- <xsd:complexType>
- <xsd:attribute type='xsd:string' name='name'/>
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- <xsd:attribute name='arch' type='xsd:string'/>
- <xsd:attribute name='epoch' type='xsd:string'/>
- <xsd:attribute name='version' type='xsd:string'/>
- <xsd:attribute name='release' type='xsd:string'/>
- <xsd:attribute name='simplefile' type='xsd:string'/>
- <xsd:attribute name='pkg_verify' type='xsd:string'/>
- <xsd:attribute name='verify_flags' type='xsd:string'/>
- <xsd:attribute name='installed_action' type='xsd:string'/>
- <xsd:attribute name='version_fail_action' type='xsd:string'/>
- <xsd:attribute name='verify_fail_action' type='xsd:string'/>
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- <xsd:attribute type='xsd:string' name='name'/>
- <xsd:attribute type='xsd:string' name='version'/>
- <xsd:attribute type='xsd:string' name='file'/>
- <xsd:attribute type='xsd:string' name='verify'/>
- <xsd:attribute type='xsd:string' name='simplefile'/>
- <xsd:attribute type='xsd:string' name='reloc'/>
- <xsd:attribute type='xsd:string' name='multiarch'/>
- <xsd:attribute type='xsd:string' name='srcs'/>
- <xsd:attribute type='xsd:string' name='type'/>
- <xsd:attribute type='xsd:string' name='bname'/>
- <xsd:attribute name='pkg_checks' type='xsd:string'/>
- <xsd:attribute name='verify_flags' type='xsd:string'/>
- </xsd:complexType>
-
- <xsd:complexType name='ContainerType'>
+ <xsd:complexType name='PackageContainerType'>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
<xsd:element name='Package' type='PackageType'/>
- <xsd:element name='Group' type='ContainerType'/>
- <xsd:element name='Client' type='ContainerType'/>
+ <xsd:element name='Group' type='PackageContainerType'/>
+ <xsd:element name='Client' type='PackageContainerType'/>
</xsd:choice>
<xsd:attribute name='name' type='xsd:string'/>
<xsd:attribute name='negate' type='xsd:string'/>
@@ -66,7 +24,7 @@
<xsd:element name='PackageList'>
<xsd:complexType>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Group' type='ContainerType'/>
+ <xsd:element name='Group' type='PackageContainerType'/>
</xsd:choice>
<xsd:attribute name='priority' type='xsd:integer' use='required'/>
<xsd:attribute name='type' use='optional' type='PackageTypeEnum' />
diff --git a/schemas/pkgtype.xsd b/schemas/pkgtype.xsd
new file mode 100644
index 000000000..4756f0ecd
--- /dev/null
+++ b/schemas/pkgtype.xsd
@@ -0,0 +1,55 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ package list schema for bcfg2
+ Narayan Desai, Argonne National Laboratory
+ $Id$
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:include schemaLocation="types.xsd"/>
+
+ <xsd:complexType name='PackageType'>
+ <xsd:choice minOccurs='0' maxOccurs='unbounded'>
+ <xsd:element name='Ignore'>
+ <xsd:complexType>
+ <xsd:attribute type='xsd:string' name='name'/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name='Instance'>
+ <xsd:complexType>
+ <xsd:choice minOccurs='0' maxOccurs='unbounded'>
+ <xsd:element name='Ignore'>
+ <xsd:complexType>
+ <xsd:attribute type='xsd:string' name='name'/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name='arch' type='xsd:string'/>
+ <xsd:attribute name='epoch' type='xsd:string'/>
+ <xsd:attribute name='version' type='xsd:string'/>
+ <xsd:attribute name='release' type='xsd:string'/>
+ <xsd:attribute name='simplefile' type='xsd:string'/>
+ <xsd:attribute name='pkg_verify' type='xsd:string'/>
+ <xsd:attribute name='verify_flags' type='xsd:string'/>
+ <xsd:attribute name='installed_action' type='xsd:string'/>
+ <xsd:attribute name='version_fail_action' type='xsd:string'/>
+ <xsd:attribute name='verify_fail_action' type='xsd:string'/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute type='xsd:string' name='name'/>
+ <xsd:attribute type='xsd:string' name='version'/>
+ <xsd:attribute type='xsd:string' name='file'/>
+ <xsd:attribute type='xsd:string' name='verify'/>
+ <xsd:attribute type='xsd:string' name='simplefile'/>
+ <xsd:attribute type='xsd:string' name='reloc'/>
+ <xsd:attribute type='xsd:string' name='multiarch'/>
+ <xsd:attribute type='xsd:string' name='srcs'/>
+ <xsd:attribute type='xsd:string' name='type'/>
+ <xsd:attribute type='xsd:string' name='bname'/>
+ <xsd:attribute name='pkg_checks' type='xsd:string'/>
+ <xsd:attribute name='verify_flags' type='xsd:string'/>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/schemas/rules.xsd b/schemas/rules.xsd
index f1e0e60e2..0baa1e25f 100644
--- a/schemas/rules.xsd
+++ b/schemas/rules.xsd
@@ -8,42 +8,10 @@
</xsd:documentation>
</xsd:annotation>
+ <xsd:include schemaLocation="pkgtype.xsd"/>
+ <xsd:include schemaLocation="servicetype.xsd"/>
<xsd:include schemaLocation="types.xsd"/>
- <xsd:complexType name='PackageType'>
- <xsd:attribute type='xsd:string' name='name'/>
- <xsd:attribute type='xsd:string' name='version'/>
- <xsd:attribute type='xsd:string' name='file'/>
- <xsd:attribute type='xsd:string' name='verify'/>
- <xsd:attribute type='xsd:string' name='simplefile'/>
- <xsd:attribute type='xsd:string' name='reloc'/>
- <xsd:attribute type='xsd:string' name='multiarch'/>
- <xsd:attribute type='xsd:string' name='srcs'/>
- <xsd:attribute type='xsd:string' name='type'/>
- <xsd:attribute type='xsd:string' name='bname'/>
- </xsd:complexType>
-
- <xsd:complexType name='ServiceType'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='User'>
- <xsd:complexType>
- <xsd:attribute name='address' type='xsd:string' use='required'/>
- <xsd:attribute name='mask' type='xsd:string' use='required'/>
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- <xsd:attribute name='name' type='xsd:string' use='required'/>
- <xsd:attribute name='status' type='xsd:string' use='required'/>
- <xsd:attribute name='port' type='xsd:string'/>
- <xsd:attribute name='protocol' type='xsd:string'/>
- <xsd:attribute name='reload' type='xsd:string'/>
- <xsd:attribute name='FMRI' type='xsd:string'/>
- <xsd:attribute name='supervised' type='xsd:string'/>
- <xsd:attribute name='type' type='xsd:string'/>
- <xsd:attribute name='sequence' type='xsd:string'/>
- </xsd:complexType>
-
-
<xsd:complexType name='DirectoryType'>
<xsd:attribute type='xsd:string' name='name' use='required'/>
<xsd:attribute type='xsd:string' name='perms'/>
@@ -91,14 +59,14 @@
<xsd:element name='Rules'>
<xsd:complexType>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Service' type='ServiceType'/>
- <xsd:element name='Directory' type='DirectoryType'/>
- <xsd:element name='SymLink' type='SymLinkType'/>
- <xsd:element name='Package' type='PackageType'/>
- <xsd:element name='Permissions' type='PermissionsType'/>
- <xsd:element name='Action' type='ActionType'/>
- <xsd:element name='Group' type='RContainerType'/>
- <xsd:element name='Client' type='RContainerType'/>
+ <xsd:element name='Service' type='ServiceType'/>
+ <xsd:element name='Directory' type='DirectoryType'/>
+ <xsd:element name='SymLink' type='SymLinkType'/>
+ <xsd:element name='Package' type='PackageType'/>
+ <xsd:element name='Permissions' type='PermissionsType'/>
+ <xsd:element name='Action' type='ActionType'/>
+ <xsd:element name='Group' type='RContainerType'/>
+ <xsd:element name='Client' type='RContainerType'/>
</xsd:choice>
<xsd:attribute name='priority' type='xsd:integer' use='required'/>
</xsd:complexType>
diff --git a/schemas/services.xsd b/schemas/services.xsd
index 14964c955..828959e82 100644
--- a/schemas/services.xsd
+++ b/schemas/services.xsd
@@ -8,43 +8,27 @@
</xsd:documentation>
</xsd:annotation>
- <xsd:complexType name='ServiceType'>
- <xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='User'>
- <xsd:complexType>
- <xsd:attribute name='address' type='xsd:string' use='required'/>
- <xsd:attribute name='mask' type='xsd:string' use='required'/>
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- <xsd:attribute name='name' type='xsd:string' use='required'/>
- <xsd:attribute name='status' type='xsd:string' use='required'/>
- <xsd:attribute name='port' type='xsd:string'/>
- <xsd:attribute name='protocol' type='xsd:string'/>
- <xsd:attribute name='reload' type='xsd:string'/>
- <xsd:attribute name='FMRI' type='xsd:string'/>
- <xsd:attribute name='type' type='xsd:string'/>
- </xsd:complexType>
+ <xsd:include schemaLocation="servicetype.xsd"/>
- <xsd:complexType name='ContainerType'>
+ <xsd:complexType name='ServiceContainerType'>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
<xsd:element name='Service' type='ServiceType'/>
- <xsd:element name='Group' type='ContainerType'/>
- <xsd:element name='Client' type='ContainerType'/>
+ <xsd:element name='Group' type='ServiceContainerType'/>
+ <xsd:element name='Client' type='ServiceContainerType'/>
</xsd:choice>
<xsd:attribute name='name' type='xsd:string'/>
<xsd:attribute name='negate' type='xsd:string'/>
</xsd:complexType>
-
+
<xsd:element name='Services'>
<xsd:complexType>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='Service' type='ServiceType'/>
- <xsd:element name='Group' type='ContainerType'/>
- <xsd:element name='Client' type='ContainerType'/>
+ <xsd:element name='Service' type='ServiceType'/>
+ <xsd:element name='Group' type='ServiceContainerType'/>
+ <xsd:element name='Client' type='ServiceContainerType'/>
</xsd:choice>
<xsd:attribute name='priority' type='xsd:integer'/>
</xsd:complexType>
</xsd:element>
-</xsd:schema> \ No newline at end of file
+</xsd:schema>
diff --git a/schemas/servicetype.xsd b/schemas/servicetype.xsd
new file mode 100644
index 000000000..787ca3110
--- /dev/null
+++ b/schemas/servicetype.xsd
@@ -0,0 +1,31 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ services schema for bcfg2
+ Narayan Desai, Argonne National Laboratory
+ $Id$
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType name='ServiceType'>
+ <xsd:choice minOccurs='0' maxOccurs='unbounded'>
+ <xsd:element name='User'>
+ <xsd:complexType>
+ <xsd:attribute name='address' type='xsd:string' use='required'/>
+ <xsd:attribute name='mask' type='xsd:string' use='required'/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name='name' type='xsd:string' use='required'/>
+ <xsd:attribute name='status' type='xsd:string' use='required'/>
+ <xsd:attribute name='port' type='xsd:string'/>
+ <xsd:attribute name='protocol' type='xsd:string'/>
+ <xsd:attribute name='reload' type='xsd:string'/>
+ <xsd:attribute name='FMRI' type='xsd:string'/>
+ <xsd:attribute name='supervised' type='xsd:string'/>
+ <xsd:attribute name='type' type='xsd:string'/>
+ <xsd:attribute name='sequence' type='xsd:string'/>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/schemas/translation.xsd b/schemas/translation.xsd
index 9a58ab640..1c7f8c92d 100644
--- a/schemas/translation.xsd
+++ b/schemas/translation.xsd
@@ -11,10 +11,10 @@
<xsd:complexType name='SystemType'>
<xsd:choice minOccurs='1' maxOccurs='unbounded'>
<xsd:element name='Image'>
- <xsd:complexType>
- <xsd:attribute name='name' type='xsd:string'
- use='required'/>
- </xsd:complexType>
+ <xsd:complexType>
+ <xsd:attribute name='name' type='xsd:string'
+ use='required'/>
+ </xsd:complexType>
</xsd:element>
</xsd:choice>
<xsd:attribute name='name' type='xsd:string' use='required'/>
@@ -25,9 +25,9 @@
<xsd:element name='SystemSet'>
<xsd:complexType>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='System' type='SystemType'/>
+ <xsd:element name='System' type='SystemType'/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
-
-</xsd:schema> \ No newline at end of file
+
+</xsd:schema>