diff options
Diffstat (limited to 'schemas')
-rw-r--r-- | schemas/grouplogic.xsd | 110 | ||||
-rw-r--r-- | schemas/packages.xsd | 9 | ||||
-rw-r--r-- | schemas/selinux.xsd | 42 | ||||
-rw-r--r-- | schemas/servicetype.xsd | 15 | ||||
-rw-r--r-- | schemas/types.xsd | 60 |
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> |