summaryrefslogtreecommitdiffstats
path: root/schemas
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2007-01-24 02:19:43 +0000
committerNarayan Desai <desai@mcs.anl.gov>2007-01-24 02:19:43 +0000
commitb238887ad8172c6a613b7d68bb551dac1aac57bb (patch)
tree1a0ce284f2c9b2b95447f4ea768b02e68f04797b /schemas
parent9182bcf5871ee041e789bb48d057323b6bc6b4b1 (diff)
downloadbcfg2-b238887ad8172c6a613b7d68bb551dac1aac57bb.tar.gz
bcfg2-b238887ad8172c6a613b7d68bb551dac1aac57bb.tar.bz2
bcfg2-b238887ad8172c6a613b7d68bb551dac1aac57bb.zip
Implement Action support
- Schema addition for bundles/rules - Tool driver for actions - Frame support for pre-actions and post-actions - Frame blacklist support (to preclude blocked entries from getting installed on the post-clobber pass) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2713 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'schemas')
-rw-r--r--schemas/bundle.xsd4
-rw-r--r--schemas/rules.xsd12
-rw-r--r--schemas/types.xsd26
3 files changed, 38 insertions, 4 deletions
diff --git a/schemas/bundle.xsd b/schemas/bundle.xsd
index 1890108c8..cdbc5f900 100644
--- a/schemas/bundle.xsd
+++ b/schemas/bundle.xsd
@@ -18,6 +18,7 @@
<xsd:element name='SymLink' type='StructureEntry'/>
<xsd:element name='Permissions' type='StructureEntry'/>
<xsd:element name='PostInstall' type='StructureEntry'/>
+ <xsd:element name='Action' type='StructureEntry'/>
<xsd:element name='Group' type='GroupType'/>
</xsd:choice>
<xsd:attribute type='xsd:string' name='name' use='required'/>
@@ -34,6 +35,7 @@
<xsd:element name='SymLink' type='StructureEntry'/>
<xsd:element name='Permission' type='StructureEntry'/>
<xsd:element name='PostInstall' type='StructureEntry'/>
+ <xsd:element name='Action' type='StructureEntry'/>
<xsd:element name='Group' type='GroupType'/>
</xsd:choice>
<xsd:attribute type='xsd:string' name='name'/>
@@ -42,4 +44,4 @@
<xsd:attribute type='xsd:string' name='revision'/>
</xsd:complexType>
</xsd:element>
-</xsd:schema> \ No newline at end of file
+</xsd:schema>
diff --git a/schemas/rules.xsd b/schemas/rules.xsd
index 270b08828..82ed4aaa0 100644
--- a/schemas/rules.xsd
+++ b/schemas/rules.xsd
@@ -29,6 +29,14 @@
<xsd:attribute type='xsd:string' name='group'/>
</xsd:complexType>
+ <xsd:complexType name='ActionType'>
+ <xsd:attribute type='ActionTimingEnum' name='timing' use='required'/>
+ <xsd:attribute type='ActionWhenEnum' name='when' use='required'/>
+ <xsd:attribute type='ActionStatusEnum' name='status' use='required'/>
+ <xsd:attribute type='xsd:string' name='name' use='required'/>
+ <xsd:attribute type='xsd:string' name='command' use='required'/>
+ </xsd:complexType>
+
<xsd:complexType name='SymLinkType'>
<xsd:attribute type='xsd:string' name='name' use='required'/>
<xsd:attribute type='xsd:string' name='to' use='required'/>
@@ -48,6 +56,7 @@
<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>
@@ -64,10 +73,11 @@
<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>
</xsd:element>
-</xsd:schema> \ No newline at end of file
+</xsd:schema>
diff --git a/schemas/types.xsd b/schemas/types.xsd
index b9d7131dd..f722309f8 100644
--- a/schemas/types.xsd
+++ b/schemas/types.xsd
@@ -8,7 +8,7 @@
</xsd:documentation>
</xsd:annotation>
- <xsd:simpleType name='PackageTypeEnum'>
+ <xsd:simpleType name='PackageTypeEnum'>
<xsd:restriction base='xsd:string'>
<xsd:enumeration value='deb' />
<xsd:enumeration value='rpm' />
@@ -25,4 +25,26 @@
</xsd:restriction>
</xsd:simpleType>
-</xsd:schema> \ No newline at end of file
+ <xsd:simpleType name='ActionTimingEnum'>
+ <xsd:restriction base='xsd:string'>
+ <xsd:enumeration value='both'/>
+ <xsd:enumeration value='pre'/>
+ <xsd:enumeration value='post'/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name='ActionWhenEnum'>
+ <xsd:restriction base='xsd:string'>
+ <xsd:enumeration value='modified'/>
+ <xsd:enumeration value='always'/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name='ActionStatusEnum'>
+ <xsd:restriction base='xsd:string'>
+ <xsd:enumeration value='ignore'/>
+ <xsd:enumeration value='check'/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+</xsd:schema>