summaryrefslogtreecommitdiffstats
path: root/schemas
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-12-09 09:38:04 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-12-09 09:38:04 -0500
commit7497f20a4821515fc9c8dadf85d3c4f3b47245eb (patch)
treebe129aa775852ed70bac6be82af719b9bfc7901f /schemas
parenteff366a0c3b9ba87f3ee06f90dccdd242579b7b1 (diff)
parentbf2ee31f956447fa42ae85dc69820405eda8c490 (diff)
downloadbcfg2-7497f20a4821515fc9c8dadf85d3c4f3b47245eb.tar.gz
bcfg2-7497f20a4821515fc9c8dadf85d3c4f3b47245eb.tar.bz2
bcfg2-7497f20a4821515fc9c8dadf85d3c4f3b47245eb.zip
Merge branch 'maint'
Conflicts: doc/appendix/guides/fedora.txt misc/bcfg2.spec schemas/types.xsd src/lib/Bcfg2/Encryption.py src/lib/Bcfg2/Options.py src/lib/Bcfg2/Server/Admin/Client.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/Lint/Validate.py src/lib/Bcfg2/Server/Plugin/helpers.py src/lib/Bcfg2/Server/Plugins/Bundler.py src/lib/Bcfg2/Server/Plugins/Cfg/CfgEncryptedGenerator.py src/lib/Bcfg2/Server/Plugins/Probes.py src/sbin/bcfg2-crypt testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgEncryptedGenerator.py testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py testsuite/common.py testsuite/install.sh
Diffstat (limited to 'schemas')
-rw-r--r--schemas/augeas.xsd220
-rw-r--r--schemas/types.xsd12
2 files changed, 232 insertions, 0 deletions
diff --git a/schemas/augeas.xsd b/schemas/augeas.xsd
new file mode 100644
index 000000000..0ede106f3
--- /dev/null
+++ b/schemas/augeas.xsd
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:py="http://genshi.edgewall.org/" xml:lang="en">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ Augeas commands
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:import namespace="http://genshi.edgewall.org/"
+ schemaLocation="genshi.xsd"/>
+
+ <xsd:complexType name="AugeasRemoveCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Implementation of the Augeas ``rm`` command.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute type="xsd:string" name="path" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ Delete nodes (and all children) matching the given Augeas
+ path expression.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attributeGroup ref="py:genshiAttrs"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="AugeasMoveCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Implementation of the Augeas ``mv`` command.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute type="xsd:string" name="source" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ Move the node matching this path expression. ``source``
+ must match exactly one node.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute type="xsd:string" name="destination" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ Move the node to this location. ``destination`` must match
+ either zero or one nodes.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attributeGroup ref="py:genshiAttrs"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="AugeasSetCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Implementation of the Augeas ``set`` command.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute type="xsd:string" name="path" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ Path to set the value for. If the path does not exist, it
+ and all of its ancestors will be created.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute type="xsd:string" name="value" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ Value to set.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attributeGroup ref="py:genshiAttrs"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="AugeasClearCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Implementation of the Augeas ``clear`` command.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute type="xsd:string" name="path" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ Path whose value will be set to ``NULL``. If the path does
+ not exist, it and all of its ancestors will be created.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attributeGroup ref="py:genshiAttrs"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="AugeasSetMultiCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Set multiple node values at once.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute type="xsd:string" name="base" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ The base path.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute type="xsd:string" name="sub" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ ``sub`` will be used as an expression relative to each node
+ that matches the :xml:attribute:`AugeasSetMultiCommand:base`
+ expression.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute type="xsd:string" name="value" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ The value to set on all nodes that match
+ :xml:attribute:`AugeasSetMultiCommand:sub` relative to each
+ node matching :xml:attribute:`AugeasSetMultiCommand:base`.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attributeGroup ref="py:genshiAttrs"/>
+ </xsd:complexType>
+
+ <xsd:simpleType name="AugeasWhenEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="before"/>
+ <xsd:enumeration value="after"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="AugeasInsertCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Implementation of the Augeas ``ins`` command.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute type="xsd:string" name="path" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ The path to a node that will be the sibling of the new node.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute type="xsd:string" name="label" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ The label of the new node to be created.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute type="AugeasWhenEnum" name="where" default="before">
+ <xsd:annotation>
+ <xsd:documentation>
+ Where to create the node: ``before`` or ``after`` the
+ sibling given in :xml:attribute:`AugeasInsertCommand:path`.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attributeGroup ref="py:genshiAttrs"/>
+ </xsd:complexType>
+
+ <xsd:group name="augeasCommands">
+ <xsd:annotation>
+ <xsd:documentation>
+ All available Augeas commands.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:choice>
+ <xsd:element name="Remove" type="AugeasRemoveCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Implementation of the Augeas ``rm`` command.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="Move" type="AugeasMoveCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Implementation of the Augeas ``mv`` command.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="Set" type="AugeasSetCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Implementation of the Augeas ``set`` command.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="Clear" type="AugeasClearCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Implementation of the Augeas ``clear`` command.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="SetMulti" type="AugeasSetMultiCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Set multiple node values at once.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="Insert" type="AugeasInsertCommand">
+ <xsd:annotation>
+ <xsd:documentation>
+ Implementation of the Augeas ``ins`` command.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:group>
+</xsd:schema>
diff --git a/schemas/types.xsd b/schemas/types.xsd
index c91a66110..9864730ea 100644
--- a/schemas/types.xsd
+++ b/schemas/types.xsd
@@ -9,6 +9,7 @@
</xsd:annotation>
<xsd:include schemaLocation="selinux.xsd"/>
+ <xsd:include schemaLocation="augeas.xsd"/>
<xsd:import namespace="http://genshi.edgewall.org/"
schemaLocation="genshi.xsd"/>
@@ -41,6 +42,7 @@
<xsd:simpleType name='PathTypeEnum'>
<xsd:restriction base='xsd:string'>
+ <xsd:enumeration value='augeas' />
<xsd:enumeration value='device' />
<xsd:enumeration value='directory' />
<xsd:enumeration value='file' />
@@ -260,6 +262,8 @@
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
<xsd:element name='ACL' type='ACLType'/>
+ <xsd:group ref="augeasCommands"/>
+ <xsd:group ref="py:genshiElements"/>
</xsd:choice>
<xsd:attribute type="PathTypeEnum" name="type">
<xsd:annotation>
@@ -395,6 +399,14 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute type="xsd:token" name="lens">
+ <xsd:annotation>
+ <xsd:documentation>
+ The Augeas lens to use when editing files in a non-standard
+ (according to Augeas) location.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attributeGroup ref="py:genshiAttrs"/>
</xsd:complexType>