diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 06:53:20 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 06:53:20 +0000 |
commit | e5a812082ae033afb1eed82c0f2df3d0f6bdc93f (patch) | |
tree | a6716c9275b4b413f6c9194798b34b91affb3cc7 /xml/constraints-2.2.rng | |
parent | Initial commit. (diff) | |
download | pacemaker-e5a812082ae033afb1eed82c0f2df3d0f6bdc93f.tar.xz pacemaker-e5a812082ae033afb1eed82c0f2df3d0f6bdc93f.zip |
Adding upstream version 2.1.6.upstream/2.1.6
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'xml/constraints-2.2.rng')
-rw-r--r-- | xml/constraints-2.2.rng | 249 |
1 files changed, 249 insertions, 0 deletions
diff --git a/xml/constraints-2.2.rng b/xml/constraints-2.2.rng new file mode 100644 index 0000000..98491ac --- /dev/null +++ b/xml/constraints-2.2.rng @@ -0,0 +1,249 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <ref name="element-constraints"/> + </start> + + <define name="element-constraints"> + <element name="constraints"> + <zeroOrMore> + <choice> + <ref name="element-location"/> + <ref name="element-colocation"/> + <ref name="element-order"/> + <ref name="element-rsc_ticket"/> + </choice> + </zeroOrMore> + </element> + </define> + + <define name="element-location"> + <element name="rsc_location"> + <attribute name="id"><data type="ID"/></attribute> + <choice> + <group> + <attribute name="rsc"><data type="IDREF"/></attribute> + <optional> + <attribute name="role"> + <ref name="attribute-roles"/> + </attribute> + </optional> + </group> + <oneOrMore> + <ref name="element-resource-set"/> + </oneOrMore> + </choice> + <choice> + <group> + <externalRef href="score.rng"/> + <attribute name="node"><text/></attribute> + </group> + <oneOrMore> + <externalRef href="rule.rng"/> + </oneOrMore> + </choice> + <optional> + <ref name="element-lifetime"/> + </optional> + <optional> + <attribute name="resource-discovery"> + <ref name="attribute-discovery"/> + </attribute> + </optional> + </element> + </define> + + <define name="element-resource-set"> + <element name="resource_set"> + <choice> + <attribute name="id-ref"><data type="IDREF"/></attribute> + <group> + <attribute name="id"><data type="ID"/></attribute> + <optional> + <attribute name="sequential"><data type="boolean"/></attribute> + </optional> + <optional> + <attribute name="require-all"><data type="boolean"/></attribute> + </optional> + <optional> + <attribute name="ordering"> + <choice> + <value>group</value> + <value>listed</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="action"> + <ref name="attribute-actions"/> + </attribute> + </optional> + <optional> + <attribute name="role"> + <ref name="attribute-roles"/> + </attribute> + </optional> + <optional> + <externalRef href="score.rng"/> + </optional> + <oneOrMore> + <element name="resource_ref"> + <attribute name="id"><data type="IDREF"/></attribute> + </element> + </oneOrMore> + </group> + </choice> + </element> + </define> + + <define name="element-colocation"> + <element name="rsc_colocation"> + <attribute name="id"><data type="ID"/></attribute> + <optional> + <choice> + <externalRef href="score.rng"/> + <attribute name="score-attribute"><text/></attribute> + <attribute name="score-attribute-mangle"><text/></attribute> + </choice> + </optional> + <optional> + <ref name="element-lifetime"/> + </optional> + <choice> + <oneOrMore> + <ref name="element-resource-set"/> + </oneOrMore> + <group> + <attribute name="rsc"><data type="IDREF"/></attribute> + <attribute name="with-rsc"><data type="IDREF"/></attribute> + <optional> + <attribute name="node-attribute"><text/></attribute> + </optional> + <optional> + <attribute name="rsc-role"> + <ref name="attribute-roles"/> + </attribute> + </optional> + <optional> + <attribute name="with-rsc-role"> + <ref name="attribute-roles"/> + </attribute> + </optional> + </group> + </choice> + </element> + </define> + + <define name="element-order"> + <element name="rsc_order"> + <attribute name="id"><data type="ID"/></attribute> + <optional> + <ref name="element-lifetime"/> + </optional> + <optional> + <attribute name="symmetrical"><data type="boolean"/></attribute> + </optional> + <optional> + <choice> + <externalRef href="score.rng"/> + <attribute name="kind"> + <ref name="order-types"/> + </attribute> + </choice> + </optional> + <choice> + <oneOrMore> + <ref name="element-resource-set"/> + </oneOrMore> + <group> + <attribute name="first"><data type="IDREF"/></attribute> + <attribute name="then"><data type="IDREF"/></attribute> + <optional> + <attribute name="first-action"> + <ref name="attribute-actions"/> + </attribute> + </optional> + <optional> + <attribute name="then-action"> + <ref name="attribute-actions"/> + </attribute> + </optional> + </group> + </choice> + </element> + </define> + + <define name="element-rsc_ticket"> + <element name="rsc_ticket"> + <attribute name="id"><data type="ID"/></attribute> + <choice> + <oneOrMore> + <ref name="element-resource-set"/> + </oneOrMore> + <group> + <attribute name="rsc"><data type="IDREF"/></attribute> + <optional> + <attribute name="rsc-role"> + <ref name="attribute-roles"/> + </attribute> + </optional> + </group> + </choice> + <attribute name="ticket"><text/></attribute> + <optional> + <attribute name="loss-policy"> + <choice> + <value>stop</value> + <value>demote</value> + <value>fence</value> + <value>freeze</value> + </choice> + </attribute> + </optional> + </element> + </define> + + <define name="attribute-discovery"> + <choice> + <value>always</value> + <value>never</value> + <value>exclusive</value> + </choice> + </define> + + <define name="attribute-actions"> + <choice> + <value>start</value> + <value>promote</value> + <value>demote</value> + <value>stop</value> + </choice> + </define> + + <define name="attribute-roles"> + <choice> + <value>Stopped</value> + <value>Started</value> + <value>Master</value> + <value>Slave</value> + </choice> + </define> + + <define name="order-types"> + <choice> + <value>Optional</value> + <value>Mandatory</value> + <value>Serialize</value> + </choice> + </define> + + <define name="element-lifetime"> + <element name="lifetime"> + <oneOrMore> + <externalRef href="rule.rng"/> + </oneOrMore> + </element> + </define> + +</grammar> |