diff options
Diffstat (limited to 'xml/api')
-rw-r--r-- | xml/api/crm_attribute-2.34.rng | 33 | ||||
-rw-r--r-- | xml/api/crm_attribute-2.36.rng | 33 | ||||
-rw-r--r-- | xml/api/crm_mon-2.35.rng | 197 | ||||
-rw-r--r-- | xml/api/crm_resource-2.36.rng | 289 | ||||
-rw-r--r-- | xml/api/crm_resource-2.37.rng | 348 | ||||
-rw-r--r-- | xml/api/crm_ticket-2.35.rng | 34 | ||||
-rw-r--r-- | xml/api/ocf-ra-1.1.rng | 221 | ||||
-rw-r--r-- | xml/api/options-2.34.rng | 37 | ||||
-rw-r--r-- | xml/api/options-2.36.rng | 46 | ||||
-rw-r--r-- | xml/api/stonith_admin-2.33.rng | 55 | ||||
-rw-r--r-- | xml/api/ticket-2.35.rng | 68 |
11 files changed, 1361 insertions, 0 deletions
diff --git a/xml/api/crm_attribute-2.34.rng b/xml/api/crm_attribute-2.34.rng new file mode 100644 index 0000000..8e84f0b --- /dev/null +++ b/xml/api/crm_attribute-2.34.rng @@ -0,0 +1,33 @@ +<?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-crm_attribute" /> + </start> + + <define name="element-crm_attribute"> + <choice> + <zeroOrMore> + <ref name="element-attribute" /> + </zeroOrMore> + <externalRef href="options-2.34.rng" /> + </choice> + </define> + + <define name="element-attribute"> + <element name="attribute"> + <optional> + <attribute name="scope"> <text /> </attribute> + </optional> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + <attribute name="name"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + <optional> + <attribute name="host"> <text /> </attribute> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/crm_attribute-2.36.rng b/xml/api/crm_attribute-2.36.rng new file mode 100644 index 0000000..2093a7d --- /dev/null +++ b/xml/api/crm_attribute-2.36.rng @@ -0,0 +1,33 @@ +<?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-crm_attribute" /> + </start> + + <define name="element-crm_attribute"> + <choice> + <zeroOrMore> + <ref name="element-attribute" /> + </zeroOrMore> + <externalRef href="options-2.36.rng" /> + </choice> + </define> + + <define name="element-attribute"> + <element name="attribute"> + <optional> + <attribute name="scope"> <text /> </attribute> + </optional> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + <attribute name="name"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + <optional> + <attribute name="host"> <text /> </attribute> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/crm_mon-2.35.rng b/xml/api/crm_mon-2.35.rng new file mode 100644 index 0000000..78ec973 --- /dev/null +++ b/xml/api/crm_mon-2.35.rng @@ -0,0 +1,197 @@ +<?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-crm-mon"/> + </start> + + <define name="element-crm-mon"> + <choice> + <ref name="element-crm-mon-disconnected" /> + <group> + <optional> + <externalRef href="pacemakerd-health-2.25.rng" /> + </optional> + <optional> + <ref name="element-summary" /> + </optional> + <optional> + <ref name="nodes-list" /> + </optional> + <optional> + <ref name="resources-list" /> + </optional> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <externalRef href="node-history-2.12.rng"/> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + <optional> + <ref name="fence-event-list" /> + </optional> + <optional> + <ref name="tickets-list" /> + </optional> + <optional> + <ref name="bans-list" /> + </optional> + </group> + </choice> + </define> + + <define name="element-crm-mon-disconnected"> + <element name="crm-mon-disconnected"> + <optional> + <attribute name="description"> <text /> </attribute> + </optional> + <optional> + <attribute name="pacemakerd-state"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + <optional> + <attribute name="pacemakerd-state"> + <text /> + </attribute> + </optional> + </element> + </optional> + <optional> + <element name="current_dc"> + <attribute name="present"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="version"> <text /> </attribute> + <attribute name="name"> <text /> </attribute> + <attribute name="id"> <text /> </attribute> + <attribute name="with_quorum"> <data type="boolean" /> </attribute> + </group> + </optional> + <optional> + <attribute name="mixed_version"> <data type="boolean" /> </attribute> + </optional> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + <optional> + <attribute name="origin"> <text /> </attribute> + </optional> + </element> + <element name="last_change"> + <attribute name="time"> <text /> </attribute> + <attribute name="user"> <text /> </attribute> + <attribute name="client"> <text /> </attribute> + <attribute name="origin"> <text /> </attribute> + </element> + </optional> + <optional> + <element name="nodes_configured"> + <attribute name="number"> <data type="nonNegativeInteger" /> </attribute> + </element> + <element name="resources_configured"> + <attribute name="number"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="disabled"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="blocked"> <data type="nonNegativeInteger" /> </attribute> + </element> + </optional> + <optional> + <element name="cluster_options"> + <attribute name="stonith-enabled"> <data type="boolean" /> </attribute> + <attribute name="symmetric-cluster"> <data type="boolean" /> </attribute> + <attribute name="no-quorum-policy"> <text /> </attribute> + <attribute name="maintenance-mode"> <data type="boolean" /> </attribute> + <attribute name="stop-all-resources"> <data type="boolean" /> </attribute> + <attribute name="stonith-timeout-ms"> <data type="integer" /> </attribute> + <attribute name="priority-fencing-delay-ms"> <data type="integer" /> </attribute> + </element> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.29.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.29.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="node-attributes-list"> + <element name="node_attributes"> + <zeroOrMore> + <externalRef href="node-attrs-2.8.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="failures-list"> + <element name="failures"> + <zeroOrMore> + <externalRef href="failure-2.8.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="fence-event-list"> + <element name="fence_history"> + <optional> + <attribute name="status"> <data type="integer" /> </attribute> + </optional> + <zeroOrMore> + <externalRef href="fence-event-2.15.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <externalRef href="ticket-2.35.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ban"> + <element name="ban"> + <attribute name="id"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <attribute name="weight"> <data type="integer" /> </attribute> + <attribute name="promoted-only"> <data type="boolean" /> </attribute> + <!-- DEPRECATED: master_only is a duplicate of promoted-only that is + provided solely for API backward compatibility. It will be + removed in a future release. Check promoted-only instead. + --> + <attribute name="master_only"> <data type="boolean" /> </attribute> + </element> + </define> +</grammar> diff --git a/xml/api/crm_resource-2.36.rng b/xml/api/crm_resource-2.36.rng new file mode 100644 index 0000000..5050364 --- /dev/null +++ b/xml/api/crm_resource-2.36.rng @@ -0,0 +1,289 @@ +<?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-crm-resource"/> + </start> + + <define name="element-crm-resource"> + <choice> + <ref name="agents-list" /> + <ref name="alternatives-list" /> + <ref name="constraints-list" /> + <externalRef href="generic-list-2.4.rng"/> + <element name="metadata"> <text/> </element> + <ref name="locate-list" /> + <ref name="operations-list" /> + <externalRef href="options-2.36.rng"/> + <ref name="providers-list" /> + <ref name="reasons-list" /> + <ref name="resource-check" /> + <ref name="resource-config" /> + <ref name="resources-list" /> + <ref name="resource-agent-action" /> + </choice> + </define> + + <define name="agents-list"> + <element name="agents"> + <attribute name="standard"> <text/> </attribute> + <optional> + <attribute name="provider"> <text/> </attribute> + </optional> + <zeroOrMore> + <element name="agent"> <text/> </element> + </zeroOrMore> + </element> + </define> + + <define name="alternatives-list"> + <element name="providers"> + <attribute name="for"> <text/> </attribute> + <zeroOrMore> + <element name="provider"> <text/> </element> + </zeroOrMore> + </element> + </define> + + <define name="constraints-list"> + <element name="constraints"> + <interleave> + <zeroOrMore> + <ref name="rsc-location" /> + </zeroOrMore> + <zeroOrMore> + <ref name="rsc-colocation" /> + </zeroOrMore> + </interleave> + </element> + </define> + + <define name="locate-list"> + <element name="nodes"> + <attribute name="resource"> <text/> </attribute> + <zeroOrMore> + <element name="node"> + <optional> + <attribute name="state"><value>promoted</value></attribute> + </optional> + <text/> + </element> + </zeroOrMore> + </element> + </define> + + <define name="rsc-location"> + <element name="rsc_location"> + <attribute name="node"> <text/> </attribute> + <attribute name="rsc"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <externalRef href="../score.rng"/> + </element> + </define> + + <define name="operations-list"> + <element name="operations"> + <oneOrMore> + <ref name="element-operation-list" /> + </oneOrMore> + </element> + </define> + + <define name="providers-list"> + <element name="providers"> + <attribute name="standard"> <value>ocf</value> </attribute> + <optional> + <attribute name="agent"> <text/> </attribute> + </optional> + <zeroOrMore> + <element name="provider"> <text/> </element> + </zeroOrMore> + </element> + </define> + + <define name="reasons-list"> + <element name="reason"> + <!-- set only when resource and node are both specified --> + <optional> + <attribute name="running_on"> <text/> </attribute> + </optional> + + <!-- set only when only a resource is specified --> + <optional> + <attribute name="running"> <data type="boolean"/> </attribute> + </optional> + + <choice> + <ref name="reasons-with-no-resource"/> + <ref name="resource-check"/> + </choice> + </element> + </define> + + <define name="reasons-with-no-resource"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <optional> + <attribute name="host"> <text/> </attribute> + </optional> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </define> + + <define name="resource-config"> + <element name="resource_config"> + <externalRef href="resources-2.29.rng" /> + <element name="xml"> <text/> </element> + </element> + </define> + + <define name="resource-check"> + <element name="check"> + <attribute name="id"> <text/> </attribute> + <optional> + <choice> + <attribute name="remain_stopped"><value>true</value></attribute> + <attribute name="promotable"><value>false</value></attribute> + </choice> + </optional> + <optional> + <attribute name="unmanaged"><value>true</value></attribute> + </optional> + <optional> + <attribute name="locked-to"> <text/> </attribute> + </optional> + <optional> + <attribute name="unhealthy"><value>true</value></attribute> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.29.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="rsc-colocation"> + <element name="rsc_colocation"> + <attribute name="id"> <text/> </attribute> + <attribute name="rsc"> <text/> </attribute> + <attribute name="with-rsc"> <text/> </attribute> + <externalRef href="../score.rng"/> + <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> + </element> + </define> + + <define name="element-operation-list"> + <element name="operation"> + <optional> + <group> + <attribute name="rsc"> <text/> </attribute> + <attribute name="agent"> <text/> </attribute> + </group> + </optional> + <attribute name="op"> <text/> </attribute> + <attribute name="node"> <text/> </attribute> + <attribute name="call"> <data type="integer" /> </attribute> + <attribute name="rc"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="last-rc-change"> <text/> </attribute> + <attribute name="exec-time"> <data type="nonNegativeInteger" /> </attribute> + </optional> + <attribute name="status"> <text/> </attribute> + </element> + </define> + + <define name="resource-agent-action"> + <element name="resource-agent-action"> + <attribute name="action"> <text/> </attribute> + <optional> + <attribute name="rsc"> <text/> </attribute> + </optional> + <attribute name="class"> <text/> </attribute> + <attribute name="type"> <text/> </attribute> + <optional> + <attribute name="provider"> <text/> </attribute> + </optional> + <optional> + <ref name="overrides-list"/> + </optional> + <ref name="agent-status"/> + <optional> + <element name="command"> + <choice> + <text /> + <externalRef href="subprocess-output-2.23.rng"/> + </choice> + </element> + </optional> + </element> + </define> + + <define name="overrides-list"> + <element name="overrides"> + <zeroOrMore> + <element name="override"> + <optional> + <attribute name="rsc"> <text/> </attribute> + </optional> + <attribute name="name"> <text/> </attribute> + <attribute name="value"> <text/> </attribute> + </element> + </zeroOrMore> + </element> + </define> + + <define name="agent-status"> + <element name="agent-status"> + <attribute name="code"> <data type="integer" /> </attribute> + <optional> + <attribute name="message"> <text/> </attribute> + </optional> + <optional> + <attribute name="execution_code"> <data type="integer" /> </attribute> + </optional> + <optional> + <attribute name="execution_message"> <text/> </attribute> + </optional> + <optional> + <attribute name="reason"> <text/> </attribute> + </optional> + </element> + </define> + + <define name="attribute-roles"> + <choice> + <value>Stopped</value> + <value>Started</value> + <value>Promoted</value> + <value>Unpromoted</value> + + <!-- These synonyms for Promoted/Unpromoted are allowed for + backward compatibility with output from older Pacemaker + versions that used them --> + <value>Master</value> + <value>Slave</value> + </choice> + </define> +</grammar> diff --git a/xml/api/crm_resource-2.37.rng b/xml/api/crm_resource-2.37.rng new file mode 100644 index 0000000..d242b85 --- /dev/null +++ b/xml/api/crm_resource-2.37.rng @@ -0,0 +1,348 @@ +<?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-crm-resource"/> + </start> + + <define name="element-crm-resource"> + <choice> + <ref name="agents-list" /> + <ref name="alternatives-list" /> + <ref name="constraints-list" /> + <externalRef href="generic-list-2.4.rng"/> + <element name="metadata"> <text/> </element> + <ref name="locate-list" /> + <ref name="operations-list" /> + <externalRef href="options-2.36.rng"/> + <ref name="providers-list" /> + <ref name="reasons-list" /> + <ref name="resource-check" /> + <ref name="resource-config" /> + <ref name="resources-list" /> + <ref name="resource-agent-action" /> + <ref name="resource-settings-list" /> + </choice> + </define> + + <define name="agents-list"> + <element name="agents"> + <attribute name="standard"> <text/> </attribute> + <optional> + <attribute name="provider"> <text/> </attribute> + </optional> + <zeroOrMore> + <element name="agent"> <text/> </element> + </zeroOrMore> + </element> + </define> + + <define name="alternatives-list"> + <element name="providers"> + <attribute name="for"> <text/> </attribute> + <zeroOrMore> + <element name="provider"> <text/> </element> + </zeroOrMore> + </element> + </define> + + <define name="constraints-list"> + <element name="constraints"> + <interleave> + <zeroOrMore> + <ref name="rsc-location" /> + </zeroOrMore> + <zeroOrMore> + <ref name="rsc-colocation" /> + </zeroOrMore> + </interleave> + </element> + </define> + + <define name="locate-list"> + <element name="nodes"> + <attribute name="resource"> <text/> </attribute> + <zeroOrMore> + <element name="node"> + <optional> + <attribute name="state"><value>promoted</value></attribute> + </optional> + <text/> + </element> + </zeroOrMore> + </element> + </define> + + <define name="rsc-location"> + <element name="rsc_location"> + <attribute name="node"> <text/> </attribute> + <attribute name="rsc"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <externalRef href="../score.rng"/> + </element> + </define> + + <define name="operations-list"> + <element name="operations"> + <oneOrMore> + <ref name="element-operation-list" /> + </oneOrMore> + </element> + </define> + + <define name="providers-list"> + <element name="providers"> + <attribute name="standard"> <value>ocf</value> </attribute> + <optional> + <attribute name="agent"> <text/> </attribute> + </optional> + <zeroOrMore> + <element name="provider"> <text/> </element> + </zeroOrMore> + </element> + </define> + + <define name="reasons-list"> + <element name="reason"> + <!-- set only when resource and node are both specified --> + <optional> + <attribute name="running_on"> <text/> </attribute> + </optional> + + <!-- set only when only a resource is specified --> + <optional> + <attribute name="running"> <data type="boolean"/> </attribute> + </optional> + + <choice> + <ref name="reasons-with-no-resource"/> + <ref name="resource-check"/> + </choice> + </element> + </define> + + <define name="reasons-with-no-resource"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <optional> + <attribute name="host"> <text/> </attribute> + </optional> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </define> + + <define name="resource-config"> + <element name="resource_config"> + <externalRef href="resources-2.29.rng" /> + <element name="xml"> <text/> </element> + </element> + </define> + + <define name="resource-check"> + <element name="check"> + <attribute name="id"> <text/> </attribute> + <optional> + <choice> + <attribute name="remain_stopped"><value>true</value></attribute> + <attribute name="promotable"><value>false</value></attribute> + </choice> + </optional> + <optional> + <attribute name="unmanaged"><value>true</value></attribute> + </optional> + <optional> + <attribute name="locked-to"> <text/> </attribute> + </optional> + <optional> + <attribute name="unhealthy"><value>true</value></attribute> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.29.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="rsc-colocation"> + <element name="rsc_colocation"> + <attribute name="id"> <text/> </attribute> + <attribute name="rsc"> <text/> </attribute> + <attribute name="with-rsc"> <text/> </attribute> + <externalRef href="../score.rng"/> + <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> + </element> + </define> + + <define name="element-operation-list"> + <element name="operation"> + <optional> + <group> + <attribute name="rsc"> <text/> </attribute> + <attribute name="agent"> <text/> </attribute> + </group> + </optional> + <attribute name="op"> <text/> </attribute> + <attribute name="node"> <text/> </attribute> + <attribute name="call"> <data type="integer" /> </attribute> + <attribute name="rc"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="last-rc-change"> <text/> </attribute> + <attribute name="exec-time"> <data type="nonNegativeInteger" /> </attribute> + </optional> + <attribute name="status"> <text/> </attribute> + </element> + </define> + + <define name="resource-agent-action"> + <element name="resource-agent-action"> + <attribute name="action"> <text/> </attribute> + <optional> + <attribute name="rsc"> <text/> </attribute> + </optional> + <attribute name="class"> <text/> </attribute> + <attribute name="type"> <text/> </attribute> + <optional> + <attribute name="provider"> <text/> </attribute> + </optional> + <optional> + <ref name="overrides-list"/> + </optional> + <ref name="agent-status"/> + <optional> + <element name="command"> + <choice> + <text /> + <externalRef href="subprocess-output-2.23.rng"/> + </choice> + </element> + </optional> + </element> + </define> + + <define name="resource-settings-list"> + <element name="resource-settings"> + <zeroOrMore> + <choice> + <ref name="element-bundle-settings"/> + <ref name="element-clone-settings"/> + <ref name="element-group-settings"/> + <ref name="element-primitive-settings"/> + </choice> + </zeroOrMore> + </element> + </define> + + <define name="element-bundle-settings"> + <element name="bundle"> + <ref name="element-resource-setting-attrs" /> + </element> + </define> + + <define name="element-clone-settings"> + <element name="clone"> + <ref name="element-resource-setting-attrs" /> + </element> + </define> + + <define name="element-group-settings"> + <element name="group"> + <ref name="element-resource-setting-attrs" /> + </element> + </define> + + <define name="element-primitive-settings"> + <element name="primitive"> + <ref name="element-resource-setting-attrs" /> + </element> + </define> + + <define name="element-resource-setting-attrs"> + <attribute name="id"> <data type="ID"/> </attribute> + <interleave> + <optional> + <element name="meta_attributes"> + <externalRef href="../nvset-3.10.rng" /> + </element> + </optional> + <optional> + <element name="instance_attributes"> + <externalRef href="../nvset-3.10.rng" /> + </element> + </optional> + <optional> + <element name="utilization"> + <externalRef href="../nvset-3.10.rng" /> + </element> + </optional> + </interleave> + </define> + + <define name="overrides-list"> + <element name="overrides"> + <zeroOrMore> + <element name="override"> + <optional> + <attribute name="rsc"> <text/> </attribute> + </optional> + <attribute name="name"> <text/> </attribute> + <attribute name="value"> <text/> </attribute> + </element> + </zeroOrMore> + </element> + </define> + + <define name="agent-status"> + <element name="agent-status"> + <attribute name="code"> <data type="integer" /> </attribute> + <optional> + <attribute name="message"> <text/> </attribute> + </optional> + <optional> + <attribute name="execution_code"> <data type="integer" /> </attribute> + </optional> + <optional> + <attribute name="execution_message"> <text/> </attribute> + </optional> + <optional> + <attribute name="reason"> <text/> </attribute> + </optional> + </element> + </define> + + <define name="attribute-roles"> + <choice> + <value>Stopped</value> + <value>Started</value> + <value>Promoted</value> + <value>Unpromoted</value> + + <!-- These synonyms for Promoted/Unpromoted are allowed for + backward compatibility with output from older Pacemaker + versions that used them --> + <value>Master</value> + <value>Slave</value> + </choice> + </define> +</grammar> diff --git a/xml/api/crm_ticket-2.35.rng b/xml/api/crm_ticket-2.35.rng new file mode 100644 index 0000000..b2d72f6 --- /dev/null +++ b/xml/api/crm_ticket-2.35.rng @@ -0,0 +1,34 @@ +<?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-crm_ticket"/> + </start> + + <define name="element-crm_ticket"> + <ref name="tickets-list" /> + <optional> + <ref name="resources-list" /> + </optional> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <data type="ID" /> </attribute> + </element> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <externalRef href="ticket-2.35.rng" /> + </zeroOrMore> + </element> + </define> + +</grammar> diff --git a/xml/api/ocf-ra-1.1.rng b/xml/api/ocf-ra-1.1.rng new file mode 100644 index 0000000..5186d9f --- /dev/null +++ b/xml/api/ocf-ra-1.1.rng @@ -0,0 +1,221 @@ +<?xml version="1.0" encoding="utf-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <!-- + Version 1.1 of the OCF resource agent API schema + Adapted from https://github.com/ClusterLabs/OCF-spec + --> + <start> + <ref name="element-resource-agent" /> + </start> + + <define name="element-resource-agent"> + <element name="resource-agent"> + <attribute name="name" /> + <optional> + <attribute name="version" /> + </optional> + + <element name="version"> <text /> </element> + + <zeroOrMore> + <ref name="element-longdesc" /> + </zeroOrMore> + + <zeroOrMore> + <ref name="element-shortdesc" /> + </zeroOrMore> + + <ref name="element-parameters" /> + <ref name="element-actions" /> + <optional> + <ref name="element-special" /> + </optional> + </element> + </define> + + <define name="element-parameters"> + <element name="parameters"> + <oneOrMore> + <ref name="element-parameter" /> + </oneOrMore> + </element> + </define> + + <define name="element-parameter"> + <element name="parameter"> + <ref name="parameter-attributes" /> + + <optional> + <ref name="element-deprecated" /> + </optional> + + <oneOrMore> + <ref name="element-longdesc" /> + </oneOrMore> + + <oneOrMore> + <ref name="element-shortdesc" /> + </oneOrMore> + + <ref name="element-content" /> + </element> + </define> + + <define name="parameter-attributes"> + <attribute name="name" /> + <optional> + <attribute name="unique-group" /> + </optional> + <optional> + <!-- "unique" is deprecated --> + <attribute name="unique"> + <ref name="boolean-values" /> + </attribute> + </optional> + <optional> + <attribute name="required"> + <ref name="boolean-values" /> + </attribute> + </optional> + <optional> + <attribute name="reloadable"> + <ref name="boolean-values" /> + </attribute> + </optional> + </define> + + <define name="boolean-values"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </define> + + <define name="element-deprecated"> + <element name="deprecated"> + <empty /> + <interleave> + <zeroOrMore> + <element name="replaced-with"> + <attribute name="name" /> + </element> + </zeroOrMore> + <zeroOrMore> + <element name="desc"> + <ref name="description" /> + </element> + </zeroOrMore> + </interleave> + </element> + </define> + + <define name="element-longdesc"> + <element name="longdesc"> + <ref name="description" /> + </element> + </define> + + <define name="element-shortdesc"> + <element name="shortdesc"> + <ref name="description" /> + </element> + </define> + + <define name="description"> + <attribute name="lang" /> + <ref name="anyElement" /> + </define> + + <define name="element-content"> + <element name="content"> + <choice> + <attribute name="type"> + <ref name="atomic-types" /> + </attribute> + <group> + <attribute name="type"> + <value>select</value> + </attribute> + <oneOrMore> + <element name="option"> + <attribute name="value" /> + </element> + </oneOrMore> + </group> + </choice> + <optional> + <attribute name="default" /> + </optional> + </element> + </define> + + <define name="atomic-types"> + <choice> + <value>boolean</value> + <value>string</value> + <value>integer</value> + </choice> + </define> + + <define name="element-actions"> + <element name="actions"> + <oneOrMore> + <ref name="element-action" /> + </oneOrMore> + </element> + </define> + + <define name="element-action"> + <element name="action"> + <attribute name="name" /> + <attribute name="timeout" /> + <optional> + <attribute name="interval" /> + </optional> + <optional> + <attribute name="start-delay" /> + </optional> + <optional> + <attribute name="depth" /> + </optional> + <optional> + <attribute name="role" /> + </optional> + </element> + </define> + + <define name="element-special"> + <element name="special"> + <attribute name="tag" /> + <ref name="anyElement" /> + </element> + </define> + + <define name="anyElement"> + <zeroOrMore> + <choice> + <text/> + <element> + <anyName/> + <ref name="any" /> + </element> + </choice> + </zeroOrMore> + </define> + + <define name="any"> + <zeroOrMore> + <choice> + <attribute><anyName /></attribute> + <text/> + <element> + <anyName/> + <ref name="any" /> + </element> + </choice> + </zeroOrMore> + </define> + +</grammar> diff --git a/xml/api/options-2.34.rng b/xml/api/options-2.34.rng new file mode 100644 index 0000000..94d3aad --- /dev/null +++ b/xml/api/options-2.34.rng @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <!-- + Pacemaker outputs option lists in an OCF-like XML format, but there are + differences that break validation against the unaltered schema. + --> + + <include href="ocf-ra-1.1.rng"> + <!-- + The OCF RA 1.1 schema requires an actions element. Pacemaker option + lists don't include an actions element. + --> + <define name="element-actions"> + <empty /> + </define> + </include> + + <!-- Extend the allowed types to include percentage and time --> + <define name="atomic-types" combine="choice"> + <choice> + <value>percentage</value> + <value>time</value> + </choice> + </define> + + <!-- Pacemaker options have additional parameter attributes --> + <define name="parameter-attributes" combine="interleave"> + <!-- Parameter is for advanced use only --> + <attribute name="advanced" /> + + <!-- Parameter's value is Pacemaker-generated, not user-configured --> + <attribute name="generated" /> + </define> + +</grammar> diff --git a/xml/api/options-2.36.rng b/xml/api/options-2.36.rng new file mode 100644 index 0000000..280e398 --- /dev/null +++ b/xml/api/options-2.36.rng @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <!-- + Pacemaker outputs option lists in an OCF-like XML format, but there are + differences that break validation against the unaltered schema. + --> + + <include href="ocf-ra-1.1.rng"> + <!-- + The OCF RA 1.1 schema requires an actions element. Pacemaker option + lists don't include an actions element. + --> + <define name="element-actions"> + <empty /> + </define> + </include> + + <!-- Extend the allowed types (see Pacemaker Explained for details) --> + <define name="atomic-types" combine="choice"> + <choice> + <value>duration</value> + <value>epoch_time</value> + <value>nonnegative_integer</value> + <value>percentage</value> + <value>port</value> + <value>score</value> + <value>timeout</value> + <value>version</value> + + <!-- @COMPAT Deprecated --> + <value>time</value> + </choice> + </define> + + <!-- Pacemaker options have additional parameter attributes --> + <define name="parameter-attributes" combine="interleave"> + <!-- Parameter is for advanced use only --> + <attribute name="advanced" /> + + <!-- Parameter's value is Pacemaker-generated, not user-configured --> + <attribute name="generated" /> + </define> + +</grammar> diff --git a/xml/api/stonith_admin-2.33.rng b/xml/api/stonith_admin-2.33.rng new file mode 100644 index 0000000..3cf63fb --- /dev/null +++ b/xml/api/stonith_admin-2.33.rng @@ -0,0 +1,55 @@ +<?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-stonith-admin"/> + </start> + + <define name="element-stonith-admin"> + <choice> + <ref name="stonith-admin-list" /> + <ref name="element-last-fenced" /> + <ref name="element-validation" /> + <element name="metadata"> <text /> </element> + </choice> + </define> + + <define name="stonith-admin-list"> + <optional> + <element name="list"> + <attribute name="name"> <text /> </attribute> + <attribute name="count"> <data type="nonNegativeInteger" /> </attribute> + <choice> + <empty/> + <oneOrMore> + <externalRef href="item-1.1.rng"/> + </oneOrMore> + <oneOrMore> + <externalRef href="fence-event-2.15.rng"/> + </oneOrMore> + </choice> + </element> + </optional> + </define> + + <define name="element-last-fenced"> + <element name="last-fenced"> + <attribute name="target"> <text /> </attribute> + <attribute name="when"> <text /> </attribute> + </element> + </define> + + <define name="element-validation"> + <element name="validate"> + <attribute name="agent"> <text /> </attribute> + <attribute name="valid"> <data type="boolean" /> </attribute> + <optional> + <attribute name="device"> <text /> </attribute> + </optional> + <optional> + <externalRef href="command-output-2.23.rng" /> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/ticket-2.35.rng b/xml/api/ticket-2.35.rng new file mode 100644 index 0000000..017ef38 --- /dev/null +++ b/xml/api/ticket-2.35.rng @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <include href="../constraints-3.9.rng"> + <start> + <ref name="element-ticket"/> + </start> + + <!-- This redefines the constraints element from constraints-X.X.rng + so it can only contain the element-rsc_ticket element. This allows + us to restrict it so only those kinds of constraints are allowed + in ticket XML. + --> + <define name="element-constraints"> + <element name="constraints"> + <zeroOrMore> + <ref name="element-rsc_ticket"/> + </zeroOrMore> + </element> + </define> + </include> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <optional> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="standby"> <data type="boolean" /> </attribute> + </optional> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + <optional> + <element name="attribute"> + <attribute name="name"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + </element> + </optional> + <zeroOrMore> + <attribute> + <anyName> + <except> + <name>attribute</name> + <name>constraints</name> + <name>id</name> + <name>last-granted</name> + <name>standby</name> + <name>status</name> + </except> + </anyName> + <text /> + </attribute> + </zeroOrMore> + <optional> + <ref name="element-constraints" /> + </optional> + </element> + </define> + +</grammar> |