summaryrefslogtreecommitdiffstats
path: root/schemas
diff options
context:
space:
mode:
Diffstat (limited to 'schemas')
-rw-r--r--schemas/grouplogic.xsd110
-rw-r--r--schemas/packages.xsd9
-rw-r--r--schemas/selinux.xsd42
-rw-r--r--schemas/servicetype.xsd15
-rw-r--r--schemas/types.xsd60
5 files changed, 219 insertions, 17 deletions
diff --git a/schemas/grouplogic.xsd b/schemas/grouplogic.xsd
new file mode 100644
index 000000000..bf43bceb3
--- /dev/null
+++ b/schemas/grouplogic.xsd
@@ -0,0 +1,110 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:py="http://genshi.edgewall.org/" xml:lang="en">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ GroupLogic schema for bcfg2
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:import namespace="http://genshi.edgewall.org/"
+ schemaLocation="genshi.xsd"/>
+
+ <xsd:complexType name="GroupLogicDeclarationType">
+ <xsd:annotation>
+ <xsd:documentation>
+ A **GroupLogicDeclarationType** declares a Group to be added
+ to a client.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute type='xsd:string' name='name' use='required'>
+ <xsd:annotation>
+ <xsd:documentation>
+ The group name
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attributeGroup ref="py:genshiAttrs"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="GroupLogicType">
+ <xsd:annotation>
+ <xsd:documentation>
+ The top-level tag of a GroupLogic configuration file.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:choice minOccurs="1" maxOccurs="unbounded">
+ <xsd:group ref="py:genshiElements"/>
+ <xsd:element name='Group' type='GroupLogicDeclarationType'/>
+ <xsd:element name='Group' type='GroupLogicContainerType'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Elements within Group tags only apply to clients that are
+ members of that group (or vice-versa; see #element_negate
+ below)
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='Client' type='GroupLogicContainerType'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Elements within Client tags only apply to the named client
+ (or vice-versa; see #element_negate below)
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name='GroupLogic' type='GroupLogicType'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Nesting GroupLogic tags is allowed in order to support
+ XInclude.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attributeGroup ref="py:genshiAttrs"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="GroupLogicContainerType">
+ <xsd:annotation>
+ <xsd:documentation>
+ A **GroupLogicContainerType** is a tag used to provide logic.
+ Child entries of a GroupLogicContainerType tag only apply to
+ machines that match the condition specified -- either
+ membership in a group, or a matching client name.
+ :xml:attribute:`GroupLogicContainerType:negate` can be set to
+ negate the sense of the match.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexContent>
+ <xsd:extension base="GroupLogicType">
+ <xsd:attribute type='xsd:string' name='name' use='required'>
+ <xsd:annotation>
+ <xsd:documentation>
+ The group name
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute type='xsd:string' name='negate'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Negate the sense of this group or client; i.e., entries
+ within this tag are only used on clients that are not
+ members of the group, or that have hostnames that do not
+ match.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name='GroupLogic' type='GroupLogicType'>
+ <xsd:annotation>
+ <xsd:documentation>
+ A GroupLogic file is a genshi file that can be used to
+ dynamically add additional groups to a client.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+</xsd:schema>
diff --git a/schemas/packages.xsd b/schemas/packages.xsd
index dbee2f31b..e538bb0e7 100644
--- a/schemas/packages.xsd
+++ b/schemas/packages.xsd
@@ -167,6 +167,15 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute type="xsd:boolean" name="debsrc">
+ <xsd:annotation>
+ <xsd:documentation>
+ Include ``deb-src`` lines in the generated APT
+ configuration. This only applies to sources with
+ :xml:attribute:`SourceType:type` = ``apt``.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attribute type="xsd:string" name="url">
<xsd:annotation>
<xsd:documentation>
diff --git a/schemas/selinux.xsd b/schemas/selinux.xsd
index 760953e34..3651549f5 100644
--- a/schemas/selinux.xsd
+++ b/schemas/selinux.xsd
@@ -80,6 +80,13 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute type="xsd:token" name="mlsrange">
+ <xsd:annotation>
+ <xsd:documentation>
+ SELinux MLS range to apply to this port
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attributeGroup ref="py:genshiAttrs"/>
</xsd:complexType>
@@ -127,6 +134,13 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute type="xsd:token" name="mlsrange">
+ <xsd:annotation>
+ <xsd:documentation>
+ SELinux MLS range to apply to files matching this specification
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attributeGroup ref="py:genshiAttrs"/>
</xsd:complexType>
@@ -157,6 +171,13 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute type="xsd:token" name="mlsrange">
+ <xsd:annotation>
+ <xsd:documentation>
+ SELinux MLS range to apply to this node
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attributeGroup ref="py:genshiAttrs"/>
</xsd:complexType>
@@ -205,6 +226,13 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute type="xsd:token" name="mlsrange">
+ <xsd:annotation>
+ <xsd:documentation>
+ SELinux MLS range to apply to this user
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attributeGroup ref="py:genshiAttrs"/>
</xsd:complexType>
@@ -235,6 +263,13 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute type="xsd:token" name="mlsrange">
+ <xsd:annotation>
+ <xsd:documentation>
+ SELinux MLS range to apply to this user
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attributeGroup ref="py:genshiAttrs"/>
</xsd:complexType>
@@ -258,6 +293,13 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute type="xsd:token" name="mlsrange">
+ <xsd:annotation>
+ <xsd:documentation>
+ SELinux MLS range to apply to this interface
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attributeGroup ref="py:genshiAttrs"/>
</xsd:complexType>
diff --git a/schemas/servicetype.xsd b/schemas/servicetype.xsd
index 4d5ac7c31..4c7e1b803 100644
--- a/schemas/servicetype.xsd
+++ b/schemas/servicetype.xsd
@@ -34,12 +34,21 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute name="bootstatus" type="BootStatusEnum" default="off">
+ <xsd:annotation>
+ <xsd:documentation>
+ Whether the service should start at boot. The default value
+ corresponds to the value of the status attribute.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attribute name="status" type="StatusEnum" default="off">
<xsd:annotation>
<xsd:documentation>
- Whether the service should start at boot. If this is set to
- "ignore", then the boot-time status of the service will not
- be checked.
+ Whether the service should be on or off when the bcfg2 client
+ is run. This attribute may have different behavior depending
+ on the characteristics of the client tool. If set to "ignore",
+ then the status of the service will not be checked.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
diff --git a/schemas/types.xsd b/schemas/types.xsd
index 524b327c5..4e3dfd70f 100644
--- a/schemas/types.xsd
+++ b/schemas/types.xsd
@@ -53,6 +53,13 @@
</xsd:restriction>
</xsd:simpleType>
+ <xsd:simpleType name='BootStatusEnum'>
+ <xsd:restriction base='xsd:string'>
+ <xsd:enumeration value='on'/>
+ <xsd:enumeration value='off'/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
<xsd:simpleType name='StatusEnum'>
<xsd:restriction base='xsd:string'>
<xsd:enumeration value='on'/>
@@ -112,14 +119,14 @@
</xsd:documentation>
</xsd:annotation>
- <xsd:attribute type='ActionTimingEnum' name='timing' use='required'>
+ <xsd:attribute type='ActionTimingEnum' name='timing'>
<xsd:annotation>
<xsd:documentation>
When the action is run.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
- <xsd:attribute type='ActionWhenEnum' name='when' use='required'>
+ <xsd:attribute type='ActionWhenEnum' name='when'>
<xsd:annotation>
<xsd:documentation>
If the action is always run, or is only run when a bundle
@@ -129,7 +136,7 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
- <xsd:attribute type='ActionStatusEnum' name='status' use='required'>
+ <xsd:attribute type='ActionStatusEnum' name='status'>
<xsd:annotation>
<xsd:documentation>
Whether or not to check the return code of the action. If
@@ -155,8 +162,16 @@
<xsd:attribute type='xsd:string' name='command' use='required'>
<xsd:annotation>
<xsd:documentation>
- The command to run. The command is executed within a shell,
- so flow control and other shell-specific things can be used.
+ The command to run.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute type='xsd:boolean' name='shell'>
+ <xsd:annotation>
+ <xsd:documentation>
+ Whether the command string should be executeed within a shell.
+ If enabled flow control and other shell-specific things can
+ be used.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
@@ -381,6 +396,27 @@
</xsd:restriction>
</xsd:simpleType>
+ <xsd:complexType name="MemberOfType">
+ <xsd:annotation>
+ <xsd:documentation>
+ Specify additional supplementary groups for the POSIXUser
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:token">
+ <xsd:attribute name="group" type="xsd:token">
+ <xsd:annotation>
+ <xsd:documentation>
+ The name of the supplementary group. This can also be
+ specified as content of the tag, although that is
+ deprecated.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
<xsd:complexType name="POSIXUserType">
<xsd:annotation>
<xsd:documentation>
@@ -388,13 +424,7 @@
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs='0' maxOccurs='unbounded'>
- <xsd:element name='MemberOf' type='xsd:token'>
- <xsd:annotation>
- <xsd:documentation>
- Specify additional supplementary groups for the POSIXUser
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
+ <xsd:element name='MemberOf' type='MemberOfType'/>
</xsd:choice>
<xsd:attribute type="xsd:token" name="name" use="required">
<xsd:annotation>
@@ -422,8 +452,10 @@
<xsd:attribute type="xsd:string" name="gecos">
<xsd:annotation>
<xsd:documentation>
- Human-readable user name or comment. If this is not set,
- the GECOS will be the same as the username.
+ This field is typically used to record general information
+ about the account or its user(s) such as their real name
+ and phone number. If this is not set, the GECOS will be
+ the same as the username.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>