diff options
Diffstat (limited to 'xml/api')
79 files changed, 12385 insertions, 0 deletions
diff --git a/xml/api/any-element-2.30.rng b/xml/api/any-element-2.30.rng new file mode 100644 index 0000000..6d4b1d2 --- /dev/null +++ b/xml/api/any-element-2.30.rng @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <!-- + Generic element (from https://relaxng.org/tutorial-20011203.html#IDAFLZR) + --> + <start> + <ref name="element-any" /> + </start> + + <define name="element-any"> + <element> + <anyName/> + <zeroOrMore> + <choice> + <attribute> <anyName/> <text/> </attribute> + <text/> + <ref name="element-any" /> + </choice> + </zeroOrMore> + </element> + </define> + +</grammar> diff --git a/xml/api/command-output-1.0.rng b/xml/api/command-output-1.0.rng new file mode 100644 index 0000000..710c134 --- /dev/null +++ b/xml/api/command-output-1.0.rng @@ -0,0 +1,26 @@ +<?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="command-output" /> + </start> + + <define name="command-output"> + <element name="command"> + <attribute name="code"> <data type="integer" /> </attribute> + <optional> + <element name="output"> + <attribute name="source"><value>stdout</value></attribute> + <text /> + </element> + </optional> + <optional> + <element name="output"> + <attribute name="source"><value>stderr</value></attribute> + <text /> + </element> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/command-output-2.23.rng b/xml/api/command-output-2.23.rng new file mode 100644 index 0000000..4de49bd --- /dev/null +++ b/xml/api/command-output-2.23.rng @@ -0,0 +1,14 @@ +<?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="command-output" /> + </start> + + <define name="command-output"> + <element name="command"> + <externalRef href="subprocess-output-2.23.rng" /> + </element> + </define> +</grammar> diff --git a/xml/api/crm_attribute-2.17.rng b/xml/api/crm_attribute-2.17.rng new file mode 100644 index 0000000..9c16ce6 --- /dev/null +++ b/xml/api/crm_attribute-2.17.rng @@ -0,0 +1,31 @@ +<?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> + <ref name="element-attribute" /> + </choice> + </define> + + <define name="element-attribute"> + <element name="attribute"> + <optional> + <attribute name="scope"> <text /> </attribute> + </optional> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + <optional> + <attribute name="name"> <text /> </attribute> + </optional> + <optional> + <attribute name="value"> <text /> </attribute> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/crm_attribute-2.18.rng b/xml/api/crm_attribute-2.18.rng new file mode 100644 index 0000000..6c040ea --- /dev/null +++ b/xml/api/crm_attribute-2.18.rng @@ -0,0 +1,32 @@ +<?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> + </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_error-2.23.rng b/xml/api/crm_error-2.23.rng new file mode 100644 index 0000000..8ba6e62 --- /dev/null +++ b/xml/api/crm_error-2.23.rng @@ -0,0 +1,24 @@ +<?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_error" /> + </start> + + <define name="element-crm_error"> + <zeroOrMore> + <ref name="element-result-code" /> + </zeroOrMore> + </define> + + <define name="element-result-code"> + <element name="result-code"> + <attribute name="code"> <data type="integer" /> </attribute> + <attribute name="description"> <text /> </attribute> + <optional> + <attribute name="name"> <text /> </attribute> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/crm_mon-2.0.rng b/xml/api/crm_mon-2.0.rng new file mode 100644 index 0000000..c03cd15 --- /dev/null +++ b/xml/api/crm_mon-2.0.rng @@ -0,0 +1,389 @@ +<?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"> + <ref name="element-summary" /> + <ref name="nodes-list" /> + <optional> + <ref name="resources-list" /> + </optional> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <ref name="node-history-list" /> + </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> + </define> + + <define name="element-summary"> + <element name="summary"> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </element> + <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> + </element> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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> + <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> + <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> + </element> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <ref name="element-resource-list" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <ref name="element-full-node" /> + </zeroOrMore> + </element> + </define> + + <define name="node-attributes-list"> + <element name="node_attributes"> + <zeroOrMore> + <ref name="element-node-with-attributes" /> + </zeroOrMore> + </element> + </define> + + <define name="node-history-list"> + <element name="node_history"> + <zeroOrMore> + <ref name="element-node-history" /> + </zeroOrMore> + </element> + </define> + + <define name="failures-list"> + <element name="failures"> + <zeroOrMore> + <ref name="element-failure" /> + </zeroOrMore> + </element> + </define> + + <define name="fence-event-list"> + <element name="fence_history"> + <zeroOrMore> + <externalRef href="fence-event-2.0.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-node-with-attributes"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <element name="attribute"> + <attribute name="name"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + <optional> + <attribute name="expected"> <data type="nonNegativeInteger" /> </attribute> + </optional> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-node-history"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <ref name="element-resource-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-resource-history"> + <element name="resource_history"> + <attribute name="id"> <text /> </attribute> + <attribute name="orphan"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="migration-threshold"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="fail-count"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-failure"> <text /> </attribute> + </optional> + </group> + </optional> + <zeroOrMore> + <ref name="element-operation-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-operation-history"> + <element name="operation_history"> + <attribute name="call"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="interval"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-rc-change"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-run"> <text /> </attribute> + </optional> + <optional> + <attribute name="exec-time"> <text /> </attribute> + </optional> + <optional> + <attribute name="queue-time"> <text /> </attribute> + </optional> + <attribute name="rc"> <data type="integer" /> </attribute> + <attribute name="rc_text"> <text /> </attribute> + </element> + </define> + + <define name="element-failure"> + <element name="failure"> + <choice> + <attribute name="op_key"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + </choice> + <attribute name="node"> <text /> </attribute> + <attribute name="exitstatus"> <text /> </attribute> + <attribute name="exitreason"> <text /> </attribute> + <attribute name="exitcode"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="call"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="status"> <text /> </attribute> + <optional> + <group> + <attribute name="last-rc-change"> <text /> </attribute> + <attribute name="queued"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="exec"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="interval"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="task"> <text /> </attribute> + </group> + </optional> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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="master_only"> <data type="boolean" /> </attribute> + </element> + </define> + + <define name="element-resource-list"> + <interleave> + <zeroOrMore> + <ref name="element-bundle" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-clone" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-group" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </interleave> + </define> + + <define name="element-bundle"> + <element name="bundle"> + <attribute name="id"> <text/> </attribute> + <attribute name="type"> + <choice> + <value>docker</value> + <value>rkt</value> + <value>podman</value> + </choice> + </attribute> + <attribute name="image"> <text/> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <zeroOrMore> + <element name="replica"> + <attribute name="id"> <data type="nonNegativeInteger" /> </attribute> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-clone"> + <element name="clone"> + <attribute name="id"> <text/> </attribute> + <attribute name="multi_state"> <data type="boolean" /> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-group"> + <element name="group"> + <attribute name="id"> <text/> </attribute> + <attribute name="number_resources"> <data type="nonNegativeInteger" /> </attribute> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-resource"> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="resource_agent"> <text/> </attribute> + <attribute name="role"> <text/> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <attribute name="active"> <data type="boolean" /> </attribute> + <attribute name="orphaned"> <data type="boolean" /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <attribute name="nodes_running_on"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="pending"> <text/> </attribute> + </optional> + <zeroOrMore> + <!-- crm_mon prints the node only if group-by-node is false --> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="cached"> <data type="boolean" /> </attribute> + </element> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/crm_mon-2.1.rng b/xml/api/crm_mon-2.1.rng new file mode 100644 index 0000000..56a08a4 --- /dev/null +++ b/xml/api/crm_mon-2.1.rng @@ -0,0 +1,403 @@ +<?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"> + <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> + <ref name="node-history-list" /> + </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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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> + </element> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <ref name="element-resource-list" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <ref name="element-full-node" /> + </zeroOrMore> + </element> + </define> + + <define name="node-attributes-list"> + <element name="node_attributes"> + <zeroOrMore> + <ref name="element-node-with-attributes" /> + </zeroOrMore> + </element> + </define> + + <define name="node-history-list"> + <element name="node_history"> + <zeroOrMore> + <ref name="element-node-history" /> + </zeroOrMore> + </element> + </define> + + <define name="failures-list"> + <element name="failures"> + <zeroOrMore> + <ref name="element-failure" /> + </zeroOrMore> + </element> + </define> + + <define name="fence-event-list"> + <element name="fence_history"> + <zeroOrMore> + <externalRef href="fence-event-2.0.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-node-with-attributes"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <element name="attribute"> + <attribute name="name"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + <optional> + <attribute name="expected"> <data type="nonNegativeInteger" /> </attribute> + </optional> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-node-history"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <ref name="element-resource-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-resource-history"> + <element name="resource_history"> + <attribute name="id"> <text /> </attribute> + <attribute name="orphan"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="migration-threshold"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="fail-count"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-failure"> <text /> </attribute> + </optional> + </group> + </optional> + <zeroOrMore> + <ref name="element-operation-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-operation-history"> + <element name="operation_history"> + <attribute name="call"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="interval"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-rc-change"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-run"> <text /> </attribute> + </optional> + <optional> + <attribute name="exec-time"> <text /> </attribute> + </optional> + <optional> + <attribute name="queue-time"> <text /> </attribute> + </optional> + <attribute name="rc"> <data type="integer" /> </attribute> + <attribute name="rc_text"> <text /> </attribute> + </element> + </define> + + <define name="element-failure"> + <element name="failure"> + <choice> + <attribute name="op_key"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + </choice> + <attribute name="node"> <text /> </attribute> + <attribute name="exitstatus"> <text /> </attribute> + <attribute name="exitreason"> <text /> </attribute> + <attribute name="exitcode"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="call"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="status"> <text /> </attribute> + <optional> + <group> + <attribute name="last-rc-change"> <text /> </attribute> + <attribute name="queued"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="exec"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="interval"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="task"> <text /> </attribute> + </group> + </optional> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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="master_only"> <data type="boolean" /> </attribute> + </element> + </define> + + <define name="element-resource-list"> + <interleave> + <zeroOrMore> + <ref name="element-bundle" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-clone" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-group" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </interleave> + </define> + + <define name="element-bundle"> + <element name="bundle"> + <attribute name="id"> <text/> </attribute> + <attribute name="type"> + <choice> + <value>docker</value> + <value>rkt</value> + <value>podman</value> + </choice> + </attribute> + <attribute name="image"> <text/> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <zeroOrMore> + <element name="replica"> + <attribute name="id"> <data type="nonNegativeInteger" /> </attribute> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-clone"> + <element name="clone"> + <attribute name="id"> <text/> </attribute> + <attribute name="multi_state"> <data type="boolean" /> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-group"> + <element name="group"> + <attribute name="id"> <text/> </attribute> + <attribute name="number_resources"> <data type="nonNegativeInteger" /> </attribute> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-resource"> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="resource_agent"> <text/> </attribute> + <attribute name="role"> <text/> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <attribute name="active"> <data type="boolean" /> </attribute> + <attribute name="orphaned"> <data type="boolean" /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <attribute name="nodes_running_on"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="pending"> <text/> </attribute> + </optional> + <zeroOrMore> + <!-- crm_mon prints the node only if group-by-node is false --> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="cached"> <data type="boolean" /> </attribute> + </element> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/crm_mon-2.12.rng b/xml/api/crm_mon-2.12.rng new file mode 100644 index 0000000..be14412 --- /dev/null +++ b/xml/api/crm_mon-2.12.rng @@ -0,0 +1,181 @@ +<?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"> + <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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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> + </element> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.8.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.0.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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_mon-2.13.rng b/xml/api/crm_mon-2.13.rng new file mode 100644 index 0000000..0c73457 --- /dev/null +++ b/xml/api/crm_mon-2.13.rng @@ -0,0 +1,183 @@ +<?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"> + <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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.8.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.0.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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_mon-2.15.rng b/xml/api/crm_mon-2.15.rng new file mode 100644 index 0000000..04aed7e --- /dev/null +++ b/xml/api/crm_mon-2.15.rng @@ -0,0 +1,183 @@ +<?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"> + <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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.8.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> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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_mon-2.19.rng b/xml/api/crm_mon-2.19.rng new file mode 100644 index 0000000..4d01d1c --- /dev/null +++ b/xml/api/crm_mon-2.19.rng @@ -0,0 +1,183 @@ +<?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"> + <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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.19.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> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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_mon-2.2.rng b/xml/api/crm_mon-2.2.rng new file mode 100644 index 0000000..03e60d7 --- /dev/null +++ b/xml/api/crm_mon-2.2.rng @@ -0,0 +1,406 @@ +<?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"> + <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> + <ref name="node-history-list" /> + </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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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> + </element> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <ref name="element-resource-list" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <ref name="element-full-node" /> + </zeroOrMore> + </element> + </define> + + <define name="node-attributes-list"> + <element name="node_attributes"> + <zeroOrMore> + <ref name="element-node-with-attributes" /> + </zeroOrMore> + </element> + </define> + + <define name="node-history-list"> + <element name="node_history"> + <zeroOrMore> + <ref name="element-node-history" /> + </zeroOrMore> + </element> + </define> + + <define name="failures-list"> + <element name="failures"> + <zeroOrMore> + <ref name="element-failure" /> + </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.0.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-node-with-attributes"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <element name="attribute"> + <attribute name="name"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + <optional> + <attribute name="expected"> <data type="nonNegativeInteger" /> </attribute> + </optional> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-node-history"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <ref name="element-resource-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-resource-history"> + <element name="resource_history"> + <attribute name="id"> <text /> </attribute> + <attribute name="orphan"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="migration-threshold"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="fail-count"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-failure"> <text /> </attribute> + </optional> + </group> + </optional> + <zeroOrMore> + <ref name="element-operation-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-operation-history"> + <element name="operation_history"> + <attribute name="call"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="interval"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-rc-change"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-run"> <text /> </attribute> + </optional> + <optional> + <attribute name="exec-time"> <text /> </attribute> + </optional> + <optional> + <attribute name="queue-time"> <text /> </attribute> + </optional> + <attribute name="rc"> <data type="integer" /> </attribute> + <attribute name="rc_text"> <text /> </attribute> + </element> + </define> + + <define name="element-failure"> + <element name="failure"> + <choice> + <attribute name="op_key"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + </choice> + <attribute name="node"> <text /> </attribute> + <attribute name="exitstatus"> <text /> </attribute> + <attribute name="exitreason"> <text /> </attribute> + <attribute name="exitcode"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="call"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="status"> <text /> </attribute> + <optional> + <group> + <attribute name="last-rc-change"> <text /> </attribute> + <attribute name="queued"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="exec"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="interval"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="task"> <text /> </attribute> + </group> + </optional> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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="master_only"> <data type="boolean" /> </attribute> + </element> + </define> + + <define name="element-resource-list"> + <interleave> + <zeroOrMore> + <ref name="element-bundle" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-clone" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-group" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </interleave> + </define> + + <define name="element-bundle"> + <element name="bundle"> + <attribute name="id"> <text/> </attribute> + <attribute name="type"> + <choice> + <value>docker</value> + <value>rkt</value> + <value>podman</value> + </choice> + </attribute> + <attribute name="image"> <text/> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <zeroOrMore> + <element name="replica"> + <attribute name="id"> <data type="nonNegativeInteger" /> </attribute> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-clone"> + <element name="clone"> + <attribute name="id"> <text/> </attribute> + <attribute name="multi_state"> <data type="boolean" /> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-group"> + <element name="group"> + <attribute name="id"> <text/> </attribute> + <attribute name="number_resources"> <data type="nonNegativeInteger" /> </attribute> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-resource"> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="resource_agent"> <text/> </attribute> + <attribute name="role"> <text/> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <attribute name="active"> <data type="boolean" /> </attribute> + <attribute name="orphaned"> <data type="boolean" /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <attribute name="nodes_running_on"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="pending"> <text/> </attribute> + </optional> + <zeroOrMore> + <!-- crm_mon prints the node only if group-by-node is false --> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="cached"> <data type="boolean" /> </attribute> + </element> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/crm_mon-2.21.rng b/xml/api/crm_mon-2.21.rng new file mode 100644 index 0000000..e99bcc3 --- /dev/null +++ b/xml/api/crm_mon-2.21.rng @@ -0,0 +1,186 @@ +<?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"> + <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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </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.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.21.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> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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_mon-2.24.rng b/xml/api/crm_mon-2.24.rng new file mode 100644 index 0000000..b52307a --- /dev/null +++ b/xml/api/crm_mon-2.24.rng @@ -0,0 +1,186 @@ +<?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"> + <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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </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.24.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.24.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> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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_mon-2.25.rng b/xml/api/crm_mon-2.25.rng new file mode 100644 index 0000000..1e501dd --- /dev/null +++ b/xml/api/crm_mon-2.25.rng @@ -0,0 +1,189 @@ +<?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"> + <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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </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.24.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.24.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> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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_mon-2.26.rng b/xml/api/crm_mon-2.26.rng new file mode 100644 index 0000000..ac6410c --- /dev/null +++ b/xml/api/crm_mon-2.26.rng @@ -0,0 +1,210 @@ +<?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> + </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.24.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.24.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> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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_mon-2.27.rng b/xml/api/crm_mon-2.27.rng new file mode 100644 index 0000000..38c1ecf --- /dev/null +++ b/xml/api/crm_mon-2.27.rng @@ -0,0 +1,213 @@ +<?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.24.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.24.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> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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_mon-2.28.rng b/xml/api/crm_mon-2.28.rng new file mode 100644 index 0000000..45a6059 --- /dev/null +++ b/xml/api/crm_mon-2.28.rng @@ -0,0 +1,213 @@ +<?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.28.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.28.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> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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_mon-2.29.rng b/xml/api/crm_mon-2.29.rng new file mode 100644 index 0000000..9cc554c --- /dev/null +++ b/xml/api/crm_mon-2.29.rng @@ -0,0 +1,213 @@ +<?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> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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_mon-2.3.rng b/xml/api/crm_mon-2.3.rng new file mode 100644 index 0000000..651ae29 --- /dev/null +++ b/xml/api/crm_mon-2.3.rng @@ -0,0 +1,418 @@ +<?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"> + <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> + <ref name="node-history-list" /> + </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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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> + <optional> + <attribute name="stop-all-resources"> <data type="boolean" /> </attribute> + </optional> + </element> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <ref name="element-resource-list" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <ref name="element-full-node" /> + </zeroOrMore> + </element> + </define> + + <define name="node-attributes-list"> + <element name="node_attributes"> + <zeroOrMore> + <ref name="element-node-with-attributes" /> + </zeroOrMore> + </element> + </define> + + <define name="node-history-list"> + <element name="node_history"> + <zeroOrMore> + <ref name="element-node-history" /> + </zeroOrMore> + </element> + </define> + + <define name="failures-list"> + <element name="failures"> + <zeroOrMore> + <ref name="element-failure" /> + </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.0.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-node-with-attributes"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <element name="attribute"> + <attribute name="name"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + <optional> + <attribute name="expected"> <data type="nonNegativeInteger" /> </attribute> + </optional> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-node-history"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <ref name="element-resource-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-resource-history"> + <element name="resource_history"> + <attribute name="id"> <text /> </attribute> + <attribute name="orphan"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="migration-threshold"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="fail-count"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-failure"> <text /> </attribute> + </optional> + </group> + </optional> + <zeroOrMore> + <ref name="element-operation-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-operation-history"> + <element name="operation_history"> + <attribute name="call"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="interval"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-rc-change"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-run"> <text /> </attribute> + </optional> + <optional> + <attribute name="exec-time"> <text /> </attribute> + </optional> + <optional> + <attribute name="queue-time"> <text /> </attribute> + </optional> + <attribute name="rc"> <data type="integer" /> </attribute> + <attribute name="rc_text"> <text /> </attribute> + </element> + </define> + + <define name="element-failure"> + <element name="failure"> + <choice> + <attribute name="op_key"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + </choice> + <attribute name="node"> <text /> </attribute> + <attribute name="exitstatus"> <text /> </attribute> + <attribute name="exitreason"> <text /> </attribute> + <attribute name="exitcode"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="call"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="status"> <text /> </attribute> + <optional> + <group> + <attribute name="last-rc-change"> <text /> </attribute> + <attribute name="queued"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="exec"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="interval"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="task"> <text /> </attribute> + </group> + </optional> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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="master_only"> <data type="boolean" /> </attribute> + </element> + </define> + + <define name="element-resource-list"> + <interleave> + <zeroOrMore> + <ref name="element-bundle" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-clone" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-group" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </interleave> + </define> + + <define name="element-bundle"> + <element name="bundle"> + <attribute name="id"> <text/> </attribute> + <attribute name="type"> + <choice> + <value>docker</value> + <value>rkt</value> + <value>podman</value> + </choice> + </attribute> + <attribute name="image"> <text/> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <zeroOrMore> + <element name="replica"> + <attribute name="id"> <data type="nonNegativeInteger" /> </attribute> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-clone"> + <element name="clone"> + <attribute name="id"> <text/> </attribute> + <attribute name="multi_state"> <data type="boolean" /> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <optional> + <attribute name="disabled"> <data type="boolean" /> </attribute> + </optional> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-group"> + <element name="group"> + <attribute name="id"> <text/> </attribute> + <attribute name="number_resources"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + </optional> + <optional> + <attribute name="disabled"> <data type="boolean" /> </attribute> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-resource"> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="resource_agent"> <text/> </attribute> + <attribute name="role"> <text/> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <attribute name="active"> <data type="boolean" /> </attribute> + <attribute name="orphaned"> <data type="boolean" /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <attribute name="nodes_running_on"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="pending"> <text/> </attribute> + </optional> + <zeroOrMore> + <!-- crm_mon prints the node only if group-by-node is false --> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="cached"> <data type="boolean" /> </attribute> + </element> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/crm_mon-2.4.rng b/xml/api/crm_mon-2.4.rng new file mode 100644 index 0000000..88973a4 --- /dev/null +++ b/xml/api/crm_mon-2.4.rng @@ -0,0 +1,311 @@ +<?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"> + <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> + <ref name="node-history-list" /> + </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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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> + </element> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <ref name="element-full-node" /> + </zeroOrMore> + </element> + </define> + + <define name="node-attributes-list"> + <element name="node_attributes"> + <zeroOrMore> + <ref name="element-node-with-attributes" /> + </zeroOrMore> + </element> + </define> + + <define name="node-history-list"> + <element name="node_history"> + <zeroOrMore> + <ref name="element-node-history" /> + </zeroOrMore> + </element> + </define> + + <define name="failures-list"> + <element name="failures"> + <zeroOrMore> + <ref name="element-failure" /> + </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.0.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <externalRef href="resources-2.4.rng" /> + </element> + </define> + + <define name="element-node-with-attributes"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <element name="attribute"> + <attribute name="name"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + <optional> + <attribute name="expected"> <data type="nonNegativeInteger" /> </attribute> + </optional> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-node-history"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <ref name="element-resource-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-resource-history"> + <element name="resource_history"> + <attribute name="id"> <text /> </attribute> + <attribute name="orphan"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="migration-threshold"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="fail-count"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-failure"> <text /> </attribute> + </optional> + </group> + </optional> + <zeroOrMore> + <ref name="element-operation-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-operation-history"> + <element name="operation_history"> + <attribute name="call"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="interval"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-rc-change"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-run"> <text /> </attribute> + </optional> + <optional> + <attribute name="exec-time"> <text /> </attribute> + </optional> + <optional> + <attribute name="queue-time"> <text /> </attribute> + </optional> + <attribute name="rc"> <data type="integer" /> </attribute> + <attribute name="rc_text"> <text /> </attribute> + </element> + </define> + + <define name="element-failure"> + <element name="failure"> + <choice> + <attribute name="op_key"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + </choice> + <attribute name="node"> <text /> </attribute> + <attribute name="exitstatus"> <text /> </attribute> + <attribute name="exitreason"> <text /> </attribute> + <attribute name="exitcode"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="call"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="status"> <text /> </attribute> + <optional> + <group> + <attribute name="last-rc-change"> <text /> </attribute> + <attribute name="queued"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="exec"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="interval"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="task"> <text /> </attribute> + </group> + </optional> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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="master_only"> <data type="boolean" /> </attribute> + </element> + </define> +</grammar> diff --git a/xml/api/crm_mon-2.7.rng b/xml/api/crm_mon-2.7.rng new file mode 100644 index 0000000..8e6792b --- /dev/null +++ b/xml/api/crm_mon-2.7.rng @@ -0,0 +1,311 @@ +<?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"> + <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> + <ref name="node-history-list" /> + </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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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> + </element> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <ref name="element-full-node" /> + </zeroOrMore> + </element> + </define> + + <define name="node-attributes-list"> + <element name="node_attributes"> + <zeroOrMore> + <ref name="element-node-with-attributes" /> + </zeroOrMore> + </element> + </define> + + <define name="node-history-list"> + <element name="node_history"> + <zeroOrMore> + <ref name="element-node-history" /> + </zeroOrMore> + </element> + </define> + + <define name="failures-list"> + <element name="failures"> + <zeroOrMore> + <ref name="element-failure" /> + </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.0.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <externalRef href="resources-2.4.rng" /> + </element> + </define> + + <define name="element-node-with-attributes"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <element name="attribute"> + <attribute name="name"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + <optional> + <attribute name="expected"> <data type="integer" /> </attribute> + </optional> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-node-history"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <ref name="element-resource-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-resource-history"> + <element name="resource_history"> + <attribute name="id"> <text /> </attribute> + <attribute name="orphan"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="migration-threshold"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="fail-count"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-failure"> <text /> </attribute> + </optional> + </group> + </optional> + <zeroOrMore> + <ref name="element-operation-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-operation-history"> + <element name="operation_history"> + <attribute name="call"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="interval"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-rc-change"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-run"> <text /> </attribute> + </optional> + <optional> + <attribute name="exec-time"> <text /> </attribute> + </optional> + <optional> + <attribute name="queue-time"> <text /> </attribute> + </optional> + <attribute name="rc"> <data type="integer" /> </attribute> + <attribute name="rc_text"> <text /> </attribute> + </element> + </define> + + <define name="element-failure"> + <element name="failure"> + <choice> + <attribute name="op_key"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + </choice> + <attribute name="node"> <text /> </attribute> + <attribute name="exitstatus"> <text /> </attribute> + <attribute name="exitreason"> <text /> </attribute> + <attribute name="exitcode"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="call"> <data type="integer" /> </attribute> + <attribute name="status"> <text /> </attribute> + <optional> + <group> + <attribute name="last-rc-change"> <text /> </attribute> + <attribute name="queued"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="exec"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="interval"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="task"> <text /> </attribute> + </group> + </optional> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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="master_only"> <data type="boolean" /> </attribute> + </element> + </define> +</grammar> diff --git a/xml/api/crm_mon-2.8.rng b/xml/api/crm_mon-2.8.rng new file mode 100644 index 0000000..2a3f49e --- /dev/null +++ b/xml/api/crm_mon-2.8.rng @@ -0,0 +1,238 @@ +<?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"> + <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> + <ref name="node-history-list" /> + </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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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> + </element> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.8.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="node-history-list"> + <element name="node_history"> + <zeroOrMore> + <ref name="element-node-history" /> + </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.0.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-node-history"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <ref name="element-resource-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-resource-history"> + <element name="resource_history"> + <attribute name="id"> <text /> </attribute> + <attribute name="orphan"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="migration-threshold"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="fail-count"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-failure"> <text /> </attribute> + </optional> + </group> + </optional> + <zeroOrMore> + <ref name="element-operation-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-operation-history"> + <element name="operation_history"> + <attribute name="call"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="interval"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-rc-change"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-run"> <text /> </attribute> + </optional> + <optional> + <attribute name="exec-time"> <text /> </attribute> + </optional> + <optional> + <attribute name="queue-time"> <text /> </attribute> + </optional> + <attribute name="rc"> <data type="integer" /> </attribute> + <attribute name="rc_text"> <text /> </attribute> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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="master_only"> <data type="boolean" /> </attribute> + </element> + </define> +</grammar> diff --git a/xml/api/crm_mon-2.9.rng b/xml/api/crm_mon-2.9.rng new file mode 100644 index 0000000..ffec923 --- /dev/null +++ b/xml/api/crm_mon-2.9.rng @@ -0,0 +1,243 @@ +<?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"> + <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> + <ref name="node-history-list" /> + </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> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </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> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </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> + </element> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.8.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="node-history-list"> + <element name="node_history"> + <zeroOrMore> + <ref name="element-node-history" /> + </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.0.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-node-history"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <ref name="element-resource-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-resource-history"> + <element name="resource_history"> + <attribute name="id"> <text /> </attribute> + <attribute name="orphan"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="migration-threshold"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="fail-count"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-failure"> <text /> </attribute> + </optional> + </group> + </optional> + <zeroOrMore> + <ref name="element-operation-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-operation-history"> + <element name="operation_history"> + <attribute name="call"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="interval"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-rc-change"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-run"> <text /> </attribute> + </optional> + <optional> + <attribute name="exec-time"> <text /> </attribute> + </optional> + <optional> + <attribute name="queue-time"> <text /> </attribute> + </optional> + <attribute name="rc"> <data type="integer" /> </attribute> + <attribute name="rc_text"> <text /> </attribute> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </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.11.rng b/xml/api/crm_resource-2.11.rng new file mode 100644 index 0000000..aaa54d6 --- /dev/null +++ b/xml/api/crm_resource-2.11.rng @@ -0,0 +1,288 @@ +<?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" /> + <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"> + <choice> + <ref name="no-resource-or-uname"/> + <ref name="resource-and-uname"/> + <ref name="no-resource-but-uname"/> + <ref name="resource-but-no-uname"/> + </choice> + </define> + + <define name="no-resource-or-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-and-uname"> + <element name="reason"> + <attribute name="running_on"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="no-resource-but-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <attribute name="host"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-but-no-uname"> + <element name="reason"> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="resource-config"> + <element name="resource_config"> + <externalRef href="resources-2.4.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> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.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> + <choice> + <element name="command"> + <text /> + </element> + <externalRef href="command-output-1.0.rng"/> + </choice> + </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> + </element> + </define> + + <define name="attribute-roles"> + <choice> + <value>Stopped</value> + <value>Started</value> + <value>Master</value> + <value>Slave</value> + </choice> + </define> +</grammar> diff --git a/xml/api/crm_resource-2.14.rng b/xml/api/crm_resource-2.14.rng new file mode 100644 index 0000000..6c9d538 --- /dev/null +++ b/xml/api/crm_resource-2.14.rng @@ -0,0 +1,297 @@ +<?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" /> + <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"> + <choice> + <ref name="no-resource-or-uname"/> + <ref name="resource-and-uname"/> + <ref name="no-resource-but-uname"/> + <ref name="resource-but-no-uname"/> + </choice> + </define> + + <define name="no-resource-or-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-and-uname"> + <element name="reason"> + <attribute name="running_on"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="no-resource-but-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <attribute name="host"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-but-no-uname"> + <element name="reason"> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="resource-config"> + <element name="resource_config"> + <externalRef href="resources-2.4.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> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.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> + <choice> + <element name="command"> + <text /> + </element> + <externalRef href="command-output-1.0.rng"/> + </choice> + </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>Master</value> + <value>Slave</value> + </choice> + </define> +</grammar> diff --git a/xml/api/crm_resource-2.20.rng b/xml/api/crm_resource-2.20.rng new file mode 100644 index 0000000..cd74da0 --- /dev/null +++ b/xml/api/crm_resource-2.20.rng @@ -0,0 +1,303 @@ +<?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" /> + <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"> + <choice> + <ref name="no-resource-or-uname"/> + <ref name="resource-and-uname"/> + <ref name="no-resource-but-uname"/> + <ref name="resource-but-no-uname"/> + </choice> + </define> + + <define name="no-resource-or-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-and-uname"> + <element name="reason"> + <attribute name="running_on"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="no-resource-but-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <attribute name="host"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-but-no-uname"> + <element name="reason"> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="resource-config"> + <element name="resource_config"> + <externalRef href="resources-2.4.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> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.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> + <choice> + <element name="command"> + <text /> + </element> + <externalRef href="command-output-1.0.rng"/> + </choice> + </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.22.rng b/xml/api/crm_resource-2.22.rng new file mode 100644 index 0000000..8a46675 --- /dev/null +++ b/xml/api/crm_resource-2.22.rng @@ -0,0 +1,288 @@ +<?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" /> + <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.4.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.4.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> + <choice> + <element name="command"> + <text /> + </element> + <externalRef href="command-output-1.0.rng"/> + </choice> + </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.23.rng b/xml/api/crm_resource-2.23.rng new file mode 100644 index 0000000..f841026 --- /dev/null +++ b/xml/api/crm_resource-2.23.rng @@ -0,0 +1,288 @@ +<?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" /> + <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.4.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.4.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.24.rng b/xml/api/crm_resource-2.24.rng new file mode 100644 index 0000000..6a3334c --- /dev/null +++ b/xml/api/crm_resource-2.24.rng @@ -0,0 +1,288 @@ +<?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" /> + <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.24.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.24.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.28.rng b/xml/api/crm_resource-2.28.rng new file mode 100644 index 0000000..901b81d --- /dev/null +++ b/xml/api/crm_resource-2.28.rng @@ -0,0 +1,288 @@ +<?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" /> + <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.28.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.28.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.29.rng b/xml/api/crm_resource-2.29.rng new file mode 100644 index 0000000..d95fd56 --- /dev/null +++ b/xml/api/crm_resource-2.29.rng @@ -0,0 +1,288 @@ +<?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" /> + <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.4.rng b/xml/api/crm_resource-2.4.rng new file mode 100644 index 0000000..1bcb969 --- /dev/null +++ b/xml/api/crm_resource-2.4.rng @@ -0,0 +1,255 @@ +<?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" /> + <ref name="providers-list" /> + <ref name="reasons-list" /> + <ref name="resource-check" /> + <ref name="resource-config" /> + <ref name="resources-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="colocations-list"> + <element name="colocations"> + <oneOrMore> + <ref name="element-colocation-list"/> + </oneOrMore> + </element> + </define> + + <define name="constraints-list"> + <element name="constraints"> + <optional> + <ref name="colocations-list"/> + </optional> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <ref name="locations-list"/> + </element> + <optional> + <ref name="colocations-list"/> + </optional> + </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="locations-list"> + <element name="locations"> + <zeroOrMore> + <element name="location"> + <attribute name="host"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="score"> <text/> </attribute> + </element> + </zeroOrMore> + </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"> + <choice> + <ref name="no-resource-or-uname"/> + <ref name="resource-and-uname"/> + <ref name="no-resource-but-uname"/> + <ref name="resource-but-no-uname"/> + </choice> + </define> + + <define name="no-resource-or-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-and-uname"> + <element name="reason"> + <attribute name="running_on"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="no-resource-but-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <attribute name="host"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-but-no-uname"> + <element name="reason"> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="resource-config"> + <element name="resource_config"> + <externalRef href="resources-2.4.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> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="element-colocation-list"> + <optional> + <element name="colocation"> + <attribute name="peer"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + </element> + </optional> + <optional> + <ref name="colocations-list" /> + </optional> + <choice> + <element name="colocation"> + <attribute name="peer"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="score"> <text/> </attribute> + <attribute name="dependends"> + <choice> + <value>needs</value> + <value>with</value> + </choice> + </attribute> + <attribute name="role"> <text/> </attribute> + </element> + <element name="colocation"> + <attribute name="peer"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="score"> <text/> </attribute> + </element> + </choice> + <ref name="locations-list" /> + <optional> + <ref name="colocations-list" /> + </optional> + </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="nonNegativeInteger" /> </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> +</grammar> diff --git a/xml/api/crm_resource-2.6.rng b/xml/api/crm_resource-2.6.rng new file mode 100644 index 0000000..b49e24c --- /dev/null +++ b/xml/api/crm_resource-2.6.rng @@ -0,0 +1,238 @@ +<?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" /> + <ref name="providers-list" /> + <ref name="reasons-list" /> + <ref name="resource-check" /> + <ref name="resource-config" /> + <ref name="resources-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"> + <choice> + <ref name="no-resource-or-uname"/> + <ref name="resource-and-uname"/> + <ref name="no-resource-but-uname"/> + <ref name="resource-but-no-uname"/> + </choice> + </define> + + <define name="no-resource-or-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-and-uname"> + <element name="reason"> + <attribute name="running_on"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="no-resource-but-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <attribute name="host"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-but-no-uname"> + <element name="reason"> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="resource-config"> + <element name="resource_config"> + <externalRef href="resources-2.4.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> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.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="nonNegativeInteger" /> </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="attribute-roles"> + <choice> + <value>Stopped</value> + <value>Started</value> + <value>Master</value> + <value>Slave</value> + </choice> + </define> +</grammar> diff --git a/xml/api/crm_resource-2.7.rng b/xml/api/crm_resource-2.7.rng new file mode 100644 index 0000000..8e386db --- /dev/null +++ b/xml/api/crm_resource-2.7.rng @@ -0,0 +1,238 @@ +<?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" /> + <ref name="providers-list" /> + <ref name="reasons-list" /> + <ref name="resource-check" /> + <ref name="resource-config" /> + <ref name="resources-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"> + <choice> + <ref name="no-resource-or-uname"/> + <ref name="resource-and-uname"/> + <ref name="no-resource-but-uname"/> + <ref name="resource-but-no-uname"/> + </choice> + </define> + + <define name="no-resource-or-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-and-uname"> + <element name="reason"> + <attribute name="running_on"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="no-resource-but-uname"> + <element name="reason"> + <element name="resources"> + <zeroOrMore> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="running"> <data type="boolean"/> </attribute> + <attribute name="host"> <text/> </attribute> + <ref name="resource-check"/> + </element> + </zeroOrMore> + </element> + </element> + </define> + + <define name="resource-but-no-uname"> + <element name="reason"> + <attribute name="running"> <data type="boolean"/> </attribute> + <ref name="resource-check"/> + </element> + </define> + + <define name="resource-config"> + <element name="resource_config"> + <externalRef href="resources-2.4.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> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.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="attribute-roles"> + <choice> + <value>Stopped</value> + <value>Started</value> + <value>Master</value> + <value>Slave</value> + </choice> + </define> +</grammar> diff --git a/xml/api/crm_rule-2.16.rng b/xml/api/crm_rule-2.16.rng new file mode 100644 index 0000000..d3a5956 --- /dev/null +++ b/xml/api/crm_rule-2.16.rng @@ -0,0 +1,21 @@ +<?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_rule"/> + </start> + + <define name="element-crm_rule"> + <zeroOrMore> + <ref name="element-rule-check" /> + </zeroOrMore> + </define> + + <define name="element-rule-check"> + <element name="rule-check"> + <attribute name="rule-id"> <text /> </attribute> + <attribute name="rc"> <data type="nonNegativeInteger" /> </attribute> + </element> + </define> +</grammar> diff --git a/xml/api/crm_shadow-2.30.rng b/xml/api/crm_shadow-2.30.rng new file mode 100644 index 0000000..f654995 --- /dev/null +++ b/xml/api/crm_shadow-2.30.rng @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <!-- Output of the crm_shadow command --> + <start> + <ref name="element-crm-shadow" /> + </start> + + <define name="element-crm-shadow"> + <optional> + <choice> + <externalRef href="instruction-2.30.rng" /> + <ref name="element-shadow" /> + </choice> + </optional> + </define> + + <define name="element-shadow"> + <element name="shadow"> + <attribute name="instance"> + <text/> + </attribute> + <optional> + <attribute name="file"> + <text/> + </attribute> + </optional> + <optional> + <element name="content"> + <!-- CDATA block containing shadow CIB XML --> + <text/> + </element> + </optional> + <optional> + <element name="xml-patchset"> + <!-- + CDATA block containing the XML patchset (diff) of the + shadow CIB versus the active CIB + --> + <text/> + </element> + </optional> + </element> + </define> + +</grammar> diff --git a/xml/api/crm_simulate-2.12.rng b/xml/api/crm_simulate-2.12.rng new file mode 100644 index 0000000..f90bd36 --- /dev/null +++ b/xml/api/crm_simulate-2.12.rng @@ -0,0 +1,338 @@ +<?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-simulate"/> + </start> + + <define name="element-crm-simulate"> + <choice> + <ref name="timings-list" /> + <group> + <ref name="cluster-status" /> + <optional> + <ref name="modifications-list" /> + </optional> + <optional> + <ref name="allocations-utilizations-list" /> + </optional> + <optional> + <ref name="action-list" /> + </optional> + <optional> + <ref name="cluster-injected-actions-list" /> + <ref name="revised-cluster-status" /> + </optional> + </group> + </choice> + </define> + + <define name="allocations-utilizations-list"> + <choice> + <element name="allocations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + </choice> + </zeroOrMore> + </element> + <element name="utilizations"> + <zeroOrMore> + <choice> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + <element name="allocations_utilizations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + </choice> + </define> + + <define name="cluster-status"> + <element name="cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <externalRef href="node-history-2.12.rng" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="modifications-list"> + <element name="modifications"> + <optional> + <attribute name="quorum"> <text /> </attribute> + </optional> + <optional> + <attribute name="watchdog"> <text /> </attribute> + </optional> + <zeroOrMore> + <ref name="element-inject-modify-node" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-modify-ticket" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-spec" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-attr" /> + </zeroOrMore> + </element> + </define> + + <define name="revised-cluster-status"> + <element name="revised_cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="element-inject-attr"> + <element name="inject_attr"> + <attribute name="cib_node"> <text /> </attribute> + <attribute name="name"> <text /> </attribute> + <attribute name="node_path"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-node"> + <element name="modify_node"> + <attribute name="action"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-spec"> + <element name="inject_spec"> + <attribute name="spec"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-ticket"> + <element name="modify_ticket"> + <attribute name="action"> <text /> </attribute> + <attribute name="ticket"> <text /> </attribute> + </element> + </define> + + <define name="cluster-injected-actions-list"> + <element name="transition"> + <zeroOrMore> + <ref name="element-injected-actions" /> + </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="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.8.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="timings-list"> + <element name="timings"> + <zeroOrMore> + <ref name="element-timing" /> + </zeroOrMore> + </element> + </define> + + <define name="action-list"> + <element name="actions"> + <zeroOrMore> + <ref name="element-node-action" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-rsc-action" /> + </zeroOrMore> + </element> + </define> + + <define name="element-allocation"> + <element name="node_weight"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-capacity"> + <element name="capacity"> + <attribute name="comment"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-inject-cluster-action"> + <element name="cluster_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-injected-actions"> + <choice> + <ref name="element-inject-cluster-action" /> + <ref name="element-inject-fencing-action" /> + <ref name="element-inject-pseudo-action" /> + <ref name="element-inject-rsc-action" /> + </choice> + </define> + + <define name="element-inject-fencing-action"> + <element name="fencing_action"> + <attribute name="op"> <text /> </attribute> + <attribute name="target"> <text /> </attribute> + </element> + </define> + + <define name="element-node-action"> + <element name="node_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="reason"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + </element> + </define> + + <define name="element-promotion"> + <element name="promotion_score"> + <attribute name="id"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-pseudo-action"> + <element name="pseudo_action"> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-rsc-action"> + <element name="rsc_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="op"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="interval"> <data type="integer" /> </attribute> + </optional> + </element> + </define> + + <define name="element-timing"> + <element name="timing"> + <attribute name="file"> <text /> </attribute> + <attribute name="duration"> <data type="double" /> </attribute> + </element> + </define> + + <define name="element-rsc-action"> + <element name="rsc_action"> + <attribute name="action"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <optional> + <attribute name="dest"> <text /> </attribute> + </optional> + <optional> + <attribute name="next-role"> <text /> </attribute> + </optional> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + <optional> + <attribute name="reason"> <text /> </attribute> + </optional> + <optional> + <attribute name="role"> <text /> </attribute> + </optional> + <optional> + <attribute name="source"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-utilization"> + <element name="utilization"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/crm_simulate-2.19.rng b/xml/api/crm_simulate-2.19.rng new file mode 100644 index 0000000..f37a909 --- /dev/null +++ b/xml/api/crm_simulate-2.19.rng @@ -0,0 +1,338 @@ +<?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-simulate"/> + </start> + + <define name="element-crm-simulate"> + <choice> + <ref name="timings-list" /> + <group> + <ref name="cluster-status" /> + <optional> + <ref name="modifications-list" /> + </optional> + <optional> + <ref name="allocations-utilizations-list" /> + </optional> + <optional> + <ref name="action-list" /> + </optional> + <optional> + <ref name="cluster-injected-actions-list" /> + <ref name="revised-cluster-status" /> + </optional> + </group> + </choice> + </define> + + <define name="allocations-utilizations-list"> + <choice> + <element name="allocations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + </choice> + </zeroOrMore> + </element> + <element name="utilizations"> + <zeroOrMore> + <choice> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + <element name="allocations_utilizations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + </choice> + </define> + + <define name="cluster-status"> + <element name="cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <externalRef href="node-history-2.12.rng" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="modifications-list"> + <element name="modifications"> + <optional> + <attribute name="quorum"> <text /> </attribute> + </optional> + <optional> + <attribute name="watchdog"> <text /> </attribute> + </optional> + <zeroOrMore> + <ref name="element-inject-modify-node" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-modify-ticket" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-spec" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-attr" /> + </zeroOrMore> + </element> + </define> + + <define name="revised-cluster-status"> + <element name="revised_cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="element-inject-attr"> + <element name="inject_attr"> + <attribute name="cib_node"> <text /> </attribute> + <attribute name="name"> <text /> </attribute> + <attribute name="node_path"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-node"> + <element name="modify_node"> + <attribute name="action"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-spec"> + <element name="inject_spec"> + <attribute name="spec"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-ticket"> + <element name="modify_ticket"> + <attribute name="action"> <text /> </attribute> + <attribute name="ticket"> <text /> </attribute> + </element> + </define> + + <define name="cluster-injected-actions-list"> + <element name="transition"> + <zeroOrMore> + <ref name="element-injected-actions" /> + </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="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.19.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="timings-list"> + <element name="timings"> + <zeroOrMore> + <ref name="element-timing" /> + </zeroOrMore> + </element> + </define> + + <define name="action-list"> + <element name="actions"> + <zeroOrMore> + <ref name="element-node-action" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-rsc-action" /> + </zeroOrMore> + </element> + </define> + + <define name="element-allocation"> + <element name="node_weight"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-capacity"> + <element name="capacity"> + <attribute name="comment"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-inject-cluster-action"> + <element name="cluster_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-injected-actions"> + <choice> + <ref name="element-inject-cluster-action" /> + <ref name="element-inject-fencing-action" /> + <ref name="element-inject-pseudo-action" /> + <ref name="element-inject-rsc-action" /> + </choice> + </define> + + <define name="element-inject-fencing-action"> + <element name="fencing_action"> + <attribute name="op"> <text /> </attribute> + <attribute name="target"> <text /> </attribute> + </element> + </define> + + <define name="element-node-action"> + <element name="node_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="reason"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + </element> + </define> + + <define name="element-promotion"> + <element name="promotion_score"> + <attribute name="id"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-pseudo-action"> + <element name="pseudo_action"> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-rsc-action"> + <element name="rsc_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="op"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="interval"> <data type="integer" /> </attribute> + </optional> + </element> + </define> + + <define name="element-timing"> + <element name="timing"> + <attribute name="file"> <text /> </attribute> + <attribute name="duration"> <data type="double" /> </attribute> + </element> + </define> + + <define name="element-rsc-action"> + <element name="rsc_action"> + <attribute name="action"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <optional> + <attribute name="dest"> <text /> </attribute> + </optional> + <optional> + <attribute name="next-role"> <text /> </attribute> + </optional> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + <optional> + <attribute name="reason"> <text /> </attribute> + </optional> + <optional> + <attribute name="role"> <text /> </attribute> + </optional> + <optional> + <attribute name="source"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-utilization"> + <element name="utilization"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/crm_simulate-2.21.rng b/xml/api/crm_simulate-2.21.rng new file mode 100644 index 0000000..75a9b39 --- /dev/null +++ b/xml/api/crm_simulate-2.21.rng @@ -0,0 +1,338 @@ +<?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-simulate"/> + </start> + + <define name="element-crm-simulate"> + <choice> + <ref name="timings-list" /> + <group> + <ref name="cluster-status" /> + <optional> + <ref name="modifications-list" /> + </optional> + <optional> + <ref name="allocations-utilizations-list" /> + </optional> + <optional> + <ref name="action-list" /> + </optional> + <optional> + <ref name="cluster-injected-actions-list" /> + <ref name="revised-cluster-status" /> + </optional> + </group> + </choice> + </define> + + <define name="allocations-utilizations-list"> + <choice> + <element name="allocations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + </choice> + </zeroOrMore> + </element> + <element name="utilizations"> + <zeroOrMore> + <choice> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + <element name="allocations_utilizations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + </choice> + </define> + + <define name="cluster-status"> + <element name="cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <externalRef href="node-history-2.12.rng" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="modifications-list"> + <element name="modifications"> + <optional> + <attribute name="quorum"> <text /> </attribute> + </optional> + <optional> + <attribute name="watchdog"> <text /> </attribute> + </optional> + <zeroOrMore> + <ref name="element-inject-modify-node" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-modify-ticket" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-spec" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-attr" /> + </zeroOrMore> + </element> + </define> + + <define name="revised-cluster-status"> + <element name="revised_cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="element-inject-attr"> + <element name="inject_attr"> + <attribute name="cib_node"> <text /> </attribute> + <attribute name="name"> <text /> </attribute> + <attribute name="node_path"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-node"> + <element name="modify_node"> + <attribute name="action"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-spec"> + <element name="inject_spec"> + <attribute name="spec"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-ticket"> + <element name="modify_ticket"> + <attribute name="action"> <text /> </attribute> + <attribute name="ticket"> <text /> </attribute> + </element> + </define> + + <define name="cluster-injected-actions-list"> + <element name="transition"> + <zeroOrMore> + <ref name="element-injected-actions" /> + </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="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.21.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="timings-list"> + <element name="timings"> + <zeroOrMore> + <ref name="element-timing" /> + </zeroOrMore> + </element> + </define> + + <define name="action-list"> + <element name="actions"> + <zeroOrMore> + <ref name="element-node-action" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-rsc-action" /> + </zeroOrMore> + </element> + </define> + + <define name="element-allocation"> + <element name="node_weight"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-capacity"> + <element name="capacity"> + <attribute name="comment"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-inject-cluster-action"> + <element name="cluster_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-injected-actions"> + <choice> + <ref name="element-inject-cluster-action" /> + <ref name="element-inject-fencing-action" /> + <ref name="element-inject-pseudo-action" /> + <ref name="element-inject-rsc-action" /> + </choice> + </define> + + <define name="element-inject-fencing-action"> + <element name="fencing_action"> + <attribute name="op"> <text /> </attribute> + <attribute name="target"> <text /> </attribute> + </element> + </define> + + <define name="element-node-action"> + <element name="node_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="reason"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + </element> + </define> + + <define name="element-promotion"> + <element name="promotion_score"> + <attribute name="id"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-pseudo-action"> + <element name="pseudo_action"> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-rsc-action"> + <element name="rsc_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="op"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="interval"> <data type="integer" /> </attribute> + </optional> + </element> + </define> + + <define name="element-timing"> + <element name="timing"> + <attribute name="file"> <text /> </attribute> + <attribute name="duration"> <data type="double" /> </attribute> + </element> + </define> + + <define name="element-rsc-action"> + <element name="rsc_action"> + <attribute name="action"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <optional> + <attribute name="dest"> <text /> </attribute> + </optional> + <optional> + <attribute name="next-role"> <text /> </attribute> + </optional> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + <optional> + <attribute name="reason"> <text /> </attribute> + </optional> + <optional> + <attribute name="role"> <text /> </attribute> + </optional> + <optional> + <attribute name="source"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-utilization"> + <element name="utilization"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/crm_simulate-2.24.rng b/xml/api/crm_simulate-2.24.rng new file mode 100644 index 0000000..5be0afa --- /dev/null +++ b/xml/api/crm_simulate-2.24.rng @@ -0,0 +1,338 @@ +<?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-simulate"/> + </start> + + <define name="element-crm-simulate"> + <choice> + <ref name="timings-list" /> + <group> + <ref name="cluster-status" /> + <optional> + <ref name="modifications-list" /> + </optional> + <optional> + <ref name="allocations-utilizations-list" /> + </optional> + <optional> + <ref name="action-list" /> + </optional> + <optional> + <ref name="cluster-injected-actions-list" /> + <ref name="revised-cluster-status" /> + </optional> + </group> + </choice> + </define> + + <define name="allocations-utilizations-list"> + <choice> + <element name="allocations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + </choice> + </zeroOrMore> + </element> + <element name="utilizations"> + <zeroOrMore> + <choice> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + <element name="allocations_utilizations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + </choice> + </define> + + <define name="cluster-status"> + <element name="cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <externalRef href="node-history-2.12.rng" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="modifications-list"> + <element name="modifications"> + <optional> + <attribute name="quorum"> <text /> </attribute> + </optional> + <optional> + <attribute name="watchdog"> <text /> </attribute> + </optional> + <zeroOrMore> + <ref name="element-inject-modify-node" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-modify-ticket" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-spec" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-attr" /> + </zeroOrMore> + </element> + </define> + + <define name="revised-cluster-status"> + <element name="revised_cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="element-inject-attr"> + <element name="inject_attr"> + <attribute name="cib_node"> <text /> </attribute> + <attribute name="name"> <text /> </attribute> + <attribute name="node_path"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-node"> + <element name="modify_node"> + <attribute name="action"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-spec"> + <element name="inject_spec"> + <attribute name="spec"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-ticket"> + <element name="modify_ticket"> + <attribute name="action"> <text /> </attribute> + <attribute name="ticket"> <text /> </attribute> + </element> + </define> + + <define name="cluster-injected-actions-list"> + <element name="transition"> + <zeroOrMore> + <ref name="element-injected-actions" /> + </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="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.24.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.24.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="timings-list"> + <element name="timings"> + <zeroOrMore> + <ref name="element-timing" /> + </zeroOrMore> + </element> + </define> + + <define name="action-list"> + <element name="actions"> + <zeroOrMore> + <ref name="element-node-action" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-rsc-action" /> + </zeroOrMore> + </element> + </define> + + <define name="element-allocation"> + <element name="node_weight"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-capacity"> + <element name="capacity"> + <attribute name="comment"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-inject-cluster-action"> + <element name="cluster_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-injected-actions"> + <choice> + <ref name="element-inject-cluster-action" /> + <ref name="element-inject-fencing-action" /> + <ref name="element-inject-pseudo-action" /> + <ref name="element-inject-rsc-action" /> + </choice> + </define> + + <define name="element-inject-fencing-action"> + <element name="fencing_action"> + <attribute name="op"> <text /> </attribute> + <attribute name="target"> <text /> </attribute> + </element> + </define> + + <define name="element-node-action"> + <element name="node_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="reason"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + </element> + </define> + + <define name="element-promotion"> + <element name="promotion_score"> + <attribute name="id"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-pseudo-action"> + <element name="pseudo_action"> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-rsc-action"> + <element name="rsc_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="op"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="interval"> <data type="integer" /> </attribute> + </optional> + </element> + </define> + + <define name="element-timing"> + <element name="timing"> + <attribute name="file"> <text /> </attribute> + <attribute name="duration"> <data type="double" /> </attribute> + </element> + </define> + + <define name="element-rsc-action"> + <element name="rsc_action"> + <attribute name="action"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <optional> + <attribute name="dest"> <text /> </attribute> + </optional> + <optional> + <attribute name="next-role"> <text /> </attribute> + </optional> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + <optional> + <attribute name="reason"> <text /> </attribute> + </optional> + <optional> + <attribute name="role"> <text /> </attribute> + </optional> + <optional> + <attribute name="source"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-utilization"> + <element name="utilization"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/crm_simulate-2.28.rng b/xml/api/crm_simulate-2.28.rng new file mode 100644 index 0000000..58be93d --- /dev/null +++ b/xml/api/crm_simulate-2.28.rng @@ -0,0 +1,338 @@ +<?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-simulate"/> + </start> + + <define name="element-crm-simulate"> + <choice> + <ref name="timings-list" /> + <group> + <ref name="cluster-status" /> + <optional> + <ref name="modifications-list" /> + </optional> + <optional> + <ref name="allocations-utilizations-list" /> + </optional> + <optional> + <ref name="action-list" /> + </optional> + <optional> + <ref name="cluster-injected-actions-list" /> + <ref name="revised-cluster-status" /> + </optional> + </group> + </choice> + </define> + + <define name="allocations-utilizations-list"> + <choice> + <element name="allocations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + </choice> + </zeroOrMore> + </element> + <element name="utilizations"> + <zeroOrMore> + <choice> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + <element name="allocations_utilizations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + </choice> + </define> + + <define name="cluster-status"> + <element name="cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <externalRef href="node-history-2.12.rng" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="modifications-list"> + <element name="modifications"> + <optional> + <attribute name="quorum"> <text /> </attribute> + </optional> + <optional> + <attribute name="watchdog"> <text /> </attribute> + </optional> + <zeroOrMore> + <ref name="element-inject-modify-node" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-modify-ticket" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-spec" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-attr" /> + </zeroOrMore> + </element> + </define> + + <define name="revised-cluster-status"> + <element name="revised_cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="element-inject-attr"> + <element name="inject_attr"> + <attribute name="cib_node"> <text /> </attribute> + <attribute name="name"> <text /> </attribute> + <attribute name="node_path"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-node"> + <element name="modify_node"> + <attribute name="action"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-spec"> + <element name="inject_spec"> + <attribute name="spec"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-ticket"> + <element name="modify_ticket"> + <attribute name="action"> <text /> </attribute> + <attribute name="ticket"> <text /> </attribute> + </element> + </define> + + <define name="cluster-injected-actions-list"> + <element name="transition"> + <zeroOrMore> + <ref name="element-injected-actions" /> + </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="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.28.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.28.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="timings-list"> + <element name="timings"> + <zeroOrMore> + <ref name="element-timing" /> + </zeroOrMore> + </element> + </define> + + <define name="action-list"> + <element name="actions"> + <zeroOrMore> + <ref name="element-node-action" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-rsc-action" /> + </zeroOrMore> + </element> + </define> + + <define name="element-allocation"> + <element name="node_weight"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-capacity"> + <element name="capacity"> + <attribute name="comment"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-inject-cluster-action"> + <element name="cluster_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-injected-actions"> + <choice> + <ref name="element-inject-cluster-action" /> + <ref name="element-inject-fencing-action" /> + <ref name="element-inject-pseudo-action" /> + <ref name="element-inject-rsc-action" /> + </choice> + </define> + + <define name="element-inject-fencing-action"> + <element name="fencing_action"> + <attribute name="op"> <text /> </attribute> + <attribute name="target"> <text /> </attribute> + </element> + </define> + + <define name="element-node-action"> + <element name="node_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="reason"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + </element> + </define> + + <define name="element-promotion"> + <element name="promotion_score"> + <attribute name="id"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-pseudo-action"> + <element name="pseudo_action"> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-rsc-action"> + <element name="rsc_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="op"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="interval"> <data type="integer" /> </attribute> + </optional> + </element> + </define> + + <define name="element-timing"> + <element name="timing"> + <attribute name="file"> <text /> </attribute> + <attribute name="duration"> <data type="double" /> </attribute> + </element> + </define> + + <define name="element-rsc-action"> + <element name="rsc_action"> + <attribute name="action"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <optional> + <attribute name="dest"> <text /> </attribute> + </optional> + <optional> + <attribute name="next-role"> <text /> </attribute> + </optional> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + <optional> + <attribute name="reason"> <text /> </attribute> + </optional> + <optional> + <attribute name="role"> <text /> </attribute> + </optional> + <optional> + <attribute name="source"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-utilization"> + <element name="utilization"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/crm_simulate-2.29.rng b/xml/api/crm_simulate-2.29.rng new file mode 100644 index 0000000..48cf942 --- /dev/null +++ b/xml/api/crm_simulate-2.29.rng @@ -0,0 +1,338 @@ +<?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-simulate"/> + </start> + + <define name="element-crm-simulate"> + <choice> + <ref name="timings-list" /> + <group> + <ref name="cluster-status" /> + <optional> + <ref name="modifications-list" /> + </optional> + <optional> + <ref name="allocations-utilizations-list" /> + </optional> + <optional> + <ref name="action-list" /> + </optional> + <optional> + <ref name="cluster-injected-actions-list" /> + <ref name="revised-cluster-status" /> + </optional> + </group> + </choice> + </define> + + <define name="allocations-utilizations-list"> + <choice> + <element name="allocations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + </choice> + </zeroOrMore> + </element> + <element name="utilizations"> + <zeroOrMore> + <choice> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + <element name="allocations_utilizations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + </choice> + </define> + + <define name="cluster-status"> + <element name="cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <externalRef href="node-history-2.12.rng" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="modifications-list"> + <element name="modifications"> + <optional> + <attribute name="quorum"> <text /> </attribute> + </optional> + <optional> + <attribute name="watchdog"> <text /> </attribute> + </optional> + <zeroOrMore> + <ref name="element-inject-modify-node" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-modify-ticket" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-spec" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-attr" /> + </zeroOrMore> + </element> + </define> + + <define name="revised-cluster-status"> + <element name="revised_cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="element-inject-attr"> + <element name="inject_attr"> + <attribute name="cib_node"> <text /> </attribute> + <attribute name="name"> <text /> </attribute> + <attribute name="node_path"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-node"> + <element name="modify_node"> + <attribute name="action"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-spec"> + <element name="inject_spec"> + <attribute name="spec"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-ticket"> + <element name="modify_ticket"> + <attribute name="action"> <text /> </attribute> + <attribute name="ticket"> <text /> </attribute> + </element> + </define> + + <define name="cluster-injected-actions-list"> + <element name="transition"> + <zeroOrMore> + <ref name="element-injected-actions" /> + </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="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.29.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.29.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="timings-list"> + <element name="timings"> + <zeroOrMore> + <ref name="element-timing" /> + </zeroOrMore> + </element> + </define> + + <define name="action-list"> + <element name="actions"> + <zeroOrMore> + <ref name="element-node-action" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-rsc-action" /> + </zeroOrMore> + </element> + </define> + + <define name="element-allocation"> + <element name="node_weight"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-capacity"> + <element name="capacity"> + <attribute name="comment"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-inject-cluster-action"> + <element name="cluster_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-injected-actions"> + <choice> + <ref name="element-inject-cluster-action" /> + <ref name="element-inject-fencing-action" /> + <ref name="element-inject-pseudo-action" /> + <ref name="element-inject-rsc-action" /> + </choice> + </define> + + <define name="element-inject-fencing-action"> + <element name="fencing_action"> + <attribute name="op"> <text /> </attribute> + <attribute name="target"> <text /> </attribute> + </element> + </define> + + <define name="element-node-action"> + <element name="node_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="reason"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + </element> + </define> + + <define name="element-promotion"> + <element name="promotion_score"> + <attribute name="id"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-pseudo-action"> + <element name="pseudo_action"> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-rsc-action"> + <element name="rsc_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="op"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="interval"> <data type="integer" /> </attribute> + </optional> + </element> + </define> + + <define name="element-timing"> + <element name="timing"> + <attribute name="file"> <text /> </attribute> + <attribute name="duration"> <data type="double" /> </attribute> + </element> + </define> + + <define name="element-rsc-action"> + <element name="rsc_action"> + <attribute name="action"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <optional> + <attribute name="dest"> <text /> </attribute> + </optional> + <optional> + <attribute name="next-role"> <text /> </attribute> + </optional> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + <optional> + <attribute name="reason"> <text /> </attribute> + </optional> + <optional> + <attribute name="role"> <text /> </attribute> + </optional> + <optional> + <attribute name="source"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-utilization"> + <element name="utilization"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/crm_simulate-2.8.rng b/xml/api/crm_simulate-2.8.rng new file mode 100644 index 0000000..9a7612d --- /dev/null +++ b/xml/api/crm_simulate-2.8.rng @@ -0,0 +1,335 @@ +<?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-simulate"/> + </start> + + <define name="element-crm-simulate"> + <choice> + <ref name="timings-list" /> + <group> + <ref name="cluster-status" /> + <optional> + <ref name="modifications-list" /> + </optional> + <optional> + <ref name="allocations-utilizations-list" /> + </optional> + <optional> + <ref name="action-list" /> + </optional> + <optional> + <ref name="cluster-injected-actions-list" /> + <ref name="revised-cluster-status" /> + </optional> + </group> + </choice> + </define> + + <define name="allocations-utilizations-list"> + <choice> + <element name="allocations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + </choice> + </zeroOrMore> + </element> + <element name="utilizations"> + <zeroOrMore> + <choice> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + <element name="allocations_utilizations"> + <zeroOrMore> + <choice> + <ref name="element-allocation" /> + <ref name="element-promotion" /> + <ref name="element-capacity" /> + <ref name="element-utilization" /> + </choice> + </zeroOrMore> + </element> + </choice> + </define> + + <define name="cluster-status"> + <element name="cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="modifications-list"> + <element name="modifications"> + <optional> + <attribute name="quorum"> <text /> </attribute> + </optional> + <optional> + <attribute name="watchdog"> <text /> </attribute> + </optional> + <zeroOrMore> + <ref name="element-inject-modify-node" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-modify-ticket" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-spec" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-inject-attr" /> + </zeroOrMore> + </element> + </define> + + <define name="revised-cluster-status"> + <element name="revised_cluster_status"> + <ref name="nodes-list" /> + <ref name="resources-list" /> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + </element> + </define> + + <define name="element-inject-attr"> + <element name="inject_attr"> + <attribute name="cib_node"> <text /> </attribute> + <attribute name="name"> <text /> </attribute> + <attribute name="node_path"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-node"> + <element name="modify_node"> + <attribute name="action"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-spec"> + <element name="inject_spec"> + <attribute name="spec"> <text /> </attribute> + </element> + </define> + + <define name="element-inject-modify-ticket"> + <element name="modify_ticket"> + <attribute name="action"> <text /> </attribute> + <attribute name="ticket"> <text /> </attribute> + </element> + </define> + + <define name="cluster-injected-actions-list"> + <element name="transition"> + <zeroOrMore> + <ref name="element-injected-actions" /> + </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="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <externalRef href="nodes-2.8.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="timings-list"> + <element name="timings"> + <zeroOrMore> + <ref name="element-timing" /> + </zeroOrMore> + </element> + </define> + + <define name="action-list"> + <element name="actions"> + <zeroOrMore> + <ref name="element-node-action" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-rsc-action" /> + </zeroOrMore> + </element> + </define> + + <define name="element-allocation"> + <element name="node_weight"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-capacity"> + <element name="capacity"> + <attribute name="comment"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-inject-cluster-action"> + <element name="cluster_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="id"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-injected-actions"> + <choice> + <ref name="element-inject-cluster-action" /> + <ref name="element-inject-fencing-action" /> + <ref name="element-inject-pseudo-action" /> + <ref name="element-inject-rsc-action" /> + </choice> + </define> + + <define name="element-inject-fencing-action"> + <element name="fencing_action"> + <attribute name="op"> <text /> </attribute> + <attribute name="target"> <text /> </attribute> + </element> + </define> + + <define name="element-node-action"> + <element name="node_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="reason"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + </element> + </define> + + <define name="element-promotion"> + <element name="promotion_score"> + <attribute name="id"> <text /> </attribute> + <externalRef href="../score.rng" /> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-pseudo-action"> + <element name="pseudo_action"> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-inject-rsc-action"> + <element name="rsc_action"> + <attribute name="node"> <text /> </attribute> + <attribute name="op"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="interval"> <data type="integer" /> </attribute> + </optional> + </element> + </define> + + <define name="element-timing"> + <element name="timing"> + <attribute name="file"> <text /> </attribute> + <attribute name="duration"> <data type="double" /> </attribute> + </element> + </define> + + <define name="element-rsc-action"> + <element name="rsc_action"> + <attribute name="action"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <optional> + <attribute name="dest"> <text /> </attribute> + </optional> + <optional> + <attribute name="next-role"> <text /> </attribute> + </optional> + <optional> + <attribute name="node"> <text /> </attribute> + </optional> + <optional> + <attribute name="reason"> <text /> </attribute> + </optional> + <optional> + <attribute name="role"> <text /> </attribute> + </optional> + <optional> + <attribute name="source"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-utilization"> + <element name="utilization"> + <attribute name="function"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <zeroOrMore> + <element> + <anyName /> + <text /> + </element> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/crmadmin-2.25.rng b/xml/api/crmadmin-2.25.rng new file mode 100644 index 0000000..973f6d4 --- /dev/null +++ b/xml/api/crmadmin-2.25.rng @@ -0,0 +1,61 @@ +<?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-crmadmin"/> + </start> + + <define name="element-crmadmin"> + <optional> + <ref name="element-status" /> + </optional> + <optional> + <externalRef href="pacemakerd-health-2.25.rng" /> + </optional> + <optional> + <ref name="element-dc" /> + </optional> + <optional> + <ref name="crmadmin-nodes-list" /> + </optional> + </define> + + <define name="element-status"> + <element name="crmd"> + <attribute name="node_name"> <text /> </attribute> + <attribute name="state"> <text /> </attribute> + <attribute name="result"> <text /> </attribute> + </element> + </define> + + <define name="element-dc"> + <element name="dc"> + <attribute name="node_name"> <text /> </attribute> + </element> + </define> + + <define name="crmadmin-nodes-list"> + <element name="nodes"> + <zeroOrMore> + <ref name="element-crmadmin-node" /> + </zeroOrMore> + </element> + </define> + + <define name="element-crmadmin-node"> + <element name="node"> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + </element> + </define> +</grammar> diff --git a/xml/api/crmadmin-2.4.rng b/xml/api/crmadmin-2.4.rng new file mode 100644 index 0000000..34c9ca4 --- /dev/null +++ b/xml/api/crmadmin-2.4.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"> + + <start> + <ref name="element-crmadmin"/> + </start> + + <define name="element-crmadmin"> + <optional> + <ref name="element-status" /> + </optional> + <optional> + <ref name="element-pacemakerd" /> + </optional> + <optional> + <ref name="element-dc" /> + </optional> + <optional> + <ref name="crmadmin-nodes-list" /> + </optional> + </define> + + <define name="element-status"> + <element name="crmd"> + <attribute name="node_name"> <text /> </attribute> + <attribute name="state"> <text /> </attribute> + <attribute name="result"> <text /> </attribute> + </element> + </define> + + <define name="element-pacemakerd"> + <element name="pacemakerd"> + <attribute name="state"> <text /> </attribute> + <attribute name="last_updated"> <text /> </attribute> + </element> + </define> + + <define name="element-dc"> + <element name="dc"> + <attribute name="node_name"> <text /> </attribute> + </element> + </define> + + <define name="crmadmin-nodes-list"> + <element name="nodes"> + <zeroOrMore> + <ref name="element-crmadmin-node" /> + </zeroOrMore> + </element> + </define> + + <define name="element-crmadmin-node"> + <element name="node"> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + </element> + </define> +</grammar> diff --git a/xml/api/diff-2.30.rng b/xml/api/diff-2.30.rng new file mode 100644 index 0000000..eb130ec --- /dev/null +++ b/xml/api/diff-2.30.rng @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <!-- + CIB XML patchset + + Note: This schema supports only v2-format patchsets. It does not and will + not support the v1 format. If a newer XML patchset format is created in the + future, then this schema should be updated accoridngly, or a new schema + should be created. + --> + <start> + <ref name="element-diff" /> + </start> + + <define name="element-diff"> + <element name="diff"> + <attribute name="format"> <data type="integer" /> </attribute> + <element name="version"> + <element name="source"> + <ref name="attributes-patchset-version" /> + </element> + <element name="target"> + <ref name="attributes-patchset-version" /> + </element> + </element> + <oneOrMore> + <ref name="element-change" /> + </oneOrMore> + </element> + </define> + + <define name="attributes-patchset-version"> + <attribute name="admin_epoch"> <data type="integer" /> </attribute> + <attribute name="epoch"> <data type="integer" /> </attribute> + <attribute name="num_updates"> <data type="integer" /> </attribute> + </define> + + <define name="element-change"> + <choice> + <ref name="element-change-create" /> + <ref name="element-change-delete" /> + <ref name="element-change-modify" /> + <ref name="element-change-move" /> + </choice> + </define> + + <define name="element-change-create"> + <element name="change"> + <attribute name="operation"> <value>create</value> </attribute> + <attribute name="path"> <text/> </attribute> + <attribute name="position"> <data type="integer" /> </attribute> + + <!-- + Copy of the newly created node. To avoid maintenance headaches + like forgetting to update this schema when new CIB element types + are added, we'll simply allow any element here. + --> + <choice> + <externalRef href="any-element-2.30.rng" /> + <text/> + </choice> + </element> + </define> + + <define name="element-change-delete"> + <element name="change"> + <attribute name="operation"> <value>delete</value> </attribute> + <attribute name="path"> <text/> </attribute> + <optional> + <attribute name="position"> <data type="integer" /> </attribute> + </optional> + </element> + </define> + + <define name="element-change-modify"> + <element name="change"> + <attribute name="operation"> <value>modify</value> </attribute> + <attribute name="path"> <text/> </attribute> + <ref name="element-change-list" /> + <ref name="element-change-result" /> + </element> + </define> + + <define name="element-change-move"> + <element name="change"> + <attribute name="operation"> <value>move</value> </attribute> + <attribute name="path"> <text/> </attribute> + <attribute name="position"> <data type="integer" /> </attribute> + </element> + </define> + + <!-- List of modified attributes --> + <define name="element-change-list"> + <element name="change-list"> + <oneOrMore> + <ref name="element-change-attr" /> + </oneOrMore> + </element> + </define> + + <!-- Attribute that has been modified ((re-)set or unset) --> + <define name="element-change-attr"> + <element name="change-attr"> + <attribute name="name"> <text/> </attribute> + <choice> + <group> + <attribute name="operation"> <value>set</value> </attribute> + <attribute name="value"> <text/> </attribute> + </group> + <attribute name="operation"> <value>unset</value> </attribute> + </choice> + </element> + </define> + + <!-- Result of a modification --> + <define name="element-change-result"> + <element name="change-result"> + <!-- The modified element, without children --> + <element> + <anyName /> + <zeroOrMore> + <attribute> <anyName /> <text/> </attribute> + </zeroOrMore> + </element> + </element> + </define> + +</grammar> diff --git a/xml/api/digests-2.6.rng b/xml/api/digests-2.6.rng new file mode 100644 index 0000000..7e843d4 --- /dev/null +++ b/xml/api/digests-2.6.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-digests"/> + </start> + + <define name="element-digests"> + <attribute name="resource"> <text/> </attribute> + <attribute name="node"> <text/> </attribute> + <attribute name="task"> <text/> </attribute> + <attribute name="interval"> <text/> </attribute> + <zeroOrMore> + <ref name="element-digest"/> + </zeroOrMore> + </define> + + <define name="element-digest"> + <attribute name="type"> <text/> </attribute> + <attribute name="hash"> <text/> </attribute> + <optional> + <element name="parameters"> + <zeroOrMore> + <attribute> + <anyName/> + <text/> + </attribute> + </zeroOrMore> + </element> + </optional> + </define> +</grammar> diff --git a/xml/api/digests-2.9.rng b/xml/api/digests-2.9.rng new file mode 100644 index 0000000..3d00628 --- /dev/null +++ b/xml/api/digests-2.9.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"> + + <start> + <ref name="element-digests"/> + </start> + + <define name="element-digests"> + <element name="digests"> + <attribute name="resource"> <text/> </attribute> + <attribute name="node"> <text/> </attribute> + <attribute name="task"> <text/> </attribute> + <attribute name="interval"> <text/> </attribute> + <zeroOrMore> + <ref name="element-digest"/> + </zeroOrMore> + </element> + </define> + + <define name="element-digest"> + <element name="digest"> + <attribute name="type"> <text/> </attribute> + <attribute name="hash"> <text/> </attribute> + <optional> + <element name="parameters"> + <zeroOrMore> + <attribute> + <anyName/> + <text/> + </attribute> + </zeroOrMore> + </element> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/failure-2.8.rng b/xml/api/failure-2.8.rng new file mode 100644 index 0000000..a36d2ea --- /dev/null +++ b/xml/api/failure-2.8.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-failure"/> + </start> + + <define name="element-failure"> + <element name="failure"> + <choice> + <attribute name="op_key"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + </choice> + <attribute name="node"> <text /> </attribute> + <attribute name="exitstatus"> <text /> </attribute> + <attribute name="exitreason"> <text /> </attribute> + <attribute name="exitcode"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="call"> <data type="integer" /> </attribute> + <attribute name="status"> <text /> </attribute> + <optional> + <group> + <attribute name="last-rc-change"> <text /> </attribute> + <attribute name="queued"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="exec"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="interval"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="task"> <text /> </attribute> + </group> + </optional> + </element> + </define> +</grammar> + diff --git a/xml/api/fence-event-2.0.rng b/xml/api/fence-event-2.0.rng new file mode 100644 index 0000000..e54687c --- /dev/null +++ b/xml/api/fence-event-2.0.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="fencing-history-event"/> + </start> + + <define name="fencing-history-event"> + <element name="fence_event"> + <attribute name="status"> + <choice> + <value>failed</value> + <value>success</value> + <value>pending</value> + </choice> + </attribute> + <optional> + <attribute name="extended-status"> <text /> </attribute> + </optional> + <optional> + <attribute name="delegate"> <text /> </attribute> + </optional> + <attribute name="action"> <text /> </attribute> + <attribute name="target"> <text /> </attribute> + <attribute name="client"> <text /> </attribute> + <attribute name="origin"> <text /> </attribute> + <optional> + <attribute name="completed"> <text /> </attribute> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/fence-event-2.15.rng b/xml/api/fence-event-2.15.rng new file mode 100644 index 0000000..8e000ca --- /dev/null +++ b/xml/api/fence-event-2.15.rng @@ -0,0 +1,36 @@ +<?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="fencing-history-event"/> + </start> + + <define name="fencing-history-event"> + <element name="fence_event"> + <attribute name="status"> + <choice> + <value>failed</value> + <value>success</value> + <value>pending</value> + </choice> + </attribute> + <optional> + <attribute name="extended-status"> <text /> </attribute> + </optional> + <optional> + <attribute name="exit-reason"> <text /> </attribute> + </optional> + <optional> + <attribute name="delegate"> <text /> </attribute> + </optional> + <attribute name="action"> <text /> </attribute> + <attribute name="target"> <text /> </attribute> + <attribute name="client"> <text /> </attribute> + <attribute name="origin"> <text /> </attribute> + <optional> + <attribute name="completed"> <text /> </attribute> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/generic-list-2.4.rng b/xml/api/generic-list-2.4.rng new file mode 100644 index 0000000..fee93a9 --- /dev/null +++ b/xml/api/generic-list-2.4.rng @@ -0,0 +1,21 @@ +<?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="generic-list"/> + </start> + + <define name="generic-list"> + <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> + </choice> + </element> + </define> +</grammar> diff --git a/xml/api/instruction-2.30.rng b/xml/api/instruction-2.30.rng new file mode 100644 index 0000000..22f1856 --- /dev/null +++ b/xml/api/instruction-2.30.rng @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <!-- An instruction to the user --> + <start> + <ref name="element-instruction" /> + </start> + + <define name="element-instruction"> + <element name="instruction"> + <text/> + </element> + </define> + +</grammar> diff --git a/xml/api/item-1.1.rng b/xml/api/item-1.1.rng new file mode 100644 index 0000000..1a065ca --- /dev/null +++ b/xml/api/item-1.1.rng @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <!-- list_item() method --> + <start> + <ref name="element-item"/> + </start> + + <define name="element-item"> + <element name="item"> + <optional> + <attribute name="name"> <text /> </attribute> + </optional> + <data type="string"/> + </element> + </define> + +</grammar> diff --git a/xml/api/node-attrs-2.8.rng b/xml/api/node-attrs-2.8.rng new file mode 100644 index 0000000..754ddb9 --- /dev/null +++ b/xml/api/node-attrs-2.8.rng @@ -0,0 +1,24 @@ +<?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-node-with-attributes"/> + </start> + + <define name="element-node-with-attributes"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <element name="attribute"> + <attribute name="name"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + <optional> + <attribute name="expected"> <data type="integer" /> </attribute> + </optional> + </element> + </zeroOrMore> + </element> + </define> + +</grammar> diff --git a/xml/api/node-history-2.12.rng b/xml/api/node-history-2.12.rng new file mode 100644 index 0000000..9628000 --- /dev/null +++ b/xml/api/node-history-2.12.rng @@ -0,0 +1,70 @@ +<?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="node-history-list" /> + </start> + + <define name="node-history-list"> + <element name="node_history"> + <zeroOrMore> + <ref name="element-node-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-node-history"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <ref name="element-resource-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-resource-history"> + <element name="resource_history"> + <attribute name="id"> <text /> </attribute> + <attribute name="orphan"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="migration-threshold"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="fail-count"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-failure"> <text /> </attribute> + </optional> + </group> + </optional> + <zeroOrMore> + <ref name="element-operation-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-operation-history"> + <element name="operation_history"> + <attribute name="call"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="interval"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-rc-change"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-run"> <text /> </attribute> + </optional> + <optional> + <attribute name="exec-time"> <text /> </attribute> + </optional> + <optional> + <attribute name="queue-time"> <text /> </attribute> + </optional> + <attribute name="rc"> <data type="integer" /> </attribute> + <attribute name="rc_text"> <text /> </attribute> + </element> + </define> +</grammar> diff --git a/xml/api/nodes-2.19.rng b/xml/api/nodes-2.19.rng new file mode 100644 index 0000000..df4c77f --- /dev/null +++ b/xml/api/nodes-2.19.rng @@ -0,0 +1,51 @@ +<?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-full-node"/> + </start> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <optional> + <attribute name="health"> + <choice> + <value>red</value> + <value>yellow</value> + <value>green</value> + </choice> + </attribute> + </optional> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <externalRef href="resources-2.4.rng" /> + </element> + </define> +</grammar> diff --git a/xml/api/nodes-2.21.rng b/xml/api/nodes-2.21.rng new file mode 100644 index 0000000..7e236ba --- /dev/null +++ b/xml/api/nodes-2.21.rng @@ -0,0 +1,54 @@ +<?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-full-node"/> + </start> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <optional> + <attribute name="health"> + <choice> + <value>red</value> + <value>yellow</value> + <value>green</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="feature_set"> <text/> </attribute> + </optional> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <externalRef href="resources-2.4.rng" /> + </element> + </define> +</grammar> diff --git a/xml/api/nodes-2.24.rng b/xml/api/nodes-2.24.rng new file mode 100644 index 0000000..9686344 --- /dev/null +++ b/xml/api/nodes-2.24.rng @@ -0,0 +1,54 @@ +<?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-full-node"/> + </start> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <optional> + <attribute name="health"> + <choice> + <value>red</value> + <value>yellow</value> + <value>green</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="feature_set"> <text/> </attribute> + </optional> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <externalRef href="resources-2.24.rng" /> + </element> + </define> +</grammar> diff --git a/xml/api/nodes-2.28.rng b/xml/api/nodes-2.28.rng new file mode 100644 index 0000000..19b5c09 --- /dev/null +++ b/xml/api/nodes-2.28.rng @@ -0,0 +1,54 @@ +<?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-full-node"/> + </start> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <optional> + <attribute name="health"> + <choice> + <value>red</value> + <value>yellow</value> + <value>green</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="feature_set"> <text/> </attribute> + </optional> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <externalRef href="resources-2.28.rng" /> + </element> + </define> +</grammar> diff --git a/xml/api/nodes-2.29.rng b/xml/api/nodes-2.29.rng new file mode 100644 index 0000000..7dd1798 --- /dev/null +++ b/xml/api/nodes-2.29.rng @@ -0,0 +1,54 @@ +<?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-full-node"/> + </start> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <optional> + <attribute name="health"> + <choice> + <value>red</value> + <value>yellow</value> + <value>green</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="feature_set"> <text/> </attribute> + </optional> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <externalRef href="resources-2.29.rng" /> + </element> + </define> +</grammar> diff --git a/xml/api/nodes-2.8.rng b/xml/api/nodes-2.8.rng new file mode 100644 index 0000000..7ef7578 --- /dev/null +++ b/xml/api/nodes-2.8.rng @@ -0,0 +1,42 @@ +<?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-full-node"/> + </start> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <externalRef href="resources-2.4.rng" /> + </element> + </define> +</grammar> diff --git a/xml/api/pacemakerd-2.10.rng b/xml/api/pacemakerd-2.10.rng new file mode 100644 index 0000000..41a11e7 --- /dev/null +++ b/xml/api/pacemakerd-2.10.rng @@ -0,0 +1,28 @@ +<?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-pacemakerd"/> + </start> + + <define name="element-pacemakerd"> + <element name="pacemakerd"> + <attribute name="version"> <text /> </attribute> + <attribute name="build"> <text /> </attribute> + <attribute name="feature_set"> <text /> </attribute> + + <optional> + <ref name="feature-list" /> + </optional> + </element> + </define> + + <define name="feature-list"> + <element name="features"> + <oneOrMore> + <element name="feature"> <text/> </element> + </oneOrMore> + </element> + </define> +</grammar> diff --git a/xml/api/pacemakerd-health-2.25.rng b/xml/api/pacemakerd-health-2.25.rng new file mode 100644 index 0000000..2089b25 --- /dev/null +++ b/xml/api/pacemakerd-health-2.25.rng @@ -0,0 +1,20 @@ +<?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-pacemakerd-health"/> + </start> + + <define name="element-pacemakerd-health"> + <element name="pacemakerd"> + <optional> + <attribute name="sys_from"> <text /> </attribute> + </optional> + <attribute name="state"> <text /> </attribute> + <optional> + <attribute name="last_updated"> <text /> </attribute> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/resources-2.24.rng b/xml/api/resources-2.24.rng new file mode 100644 index 0000000..f8ae6eb --- /dev/null +++ b/xml/api/resources-2.24.rng @@ -0,0 +1,112 @@ +<?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-resource-list"/> + </start> + + <define name="element-resource-list"> + <interleave> + <zeroOrMore> + <ref name="element-bundle" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-clone" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-group" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </interleave> + </define> + + <define name="element-bundle"> + <element name="bundle"> + <attribute name="id"> <text/> </attribute> + <attribute name="type"> + <choice> + <value>docker</value> + <value>rkt</value> + <value>podman</value> + </choice> + </attribute> + <attribute name="image"> <text/> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <zeroOrMore> + <element name="replica"> + <attribute name="id"> <data type="nonNegativeInteger" /> </attribute> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-clone"> + <element name="clone"> + <attribute name="id"> <text/> </attribute> + <attribute name="multi_state"> <data type="boolean" /> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="disabled"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-group"> + <element name="group"> + <attribute name="id"> <text/> </attribute> + <attribute name="number_resources"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="disabled"> <data type="boolean" /> </attribute> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-resource"> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="resource_agent"> <text/> </attribute> + <attribute name="role"> <text/> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <attribute name="active"> <data type="boolean" /> </attribute> + <attribute name="orphaned"> <data type="boolean" /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <attribute name="nodes_running_on"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="pending"> <text/> </attribute> + </optional> + <optional> + <attribute name="locked_to"> <text/> </attribute> + </optional> + <zeroOrMore> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="cached"> <data type="boolean" /> </attribute> + </element> + </zeroOrMore> + <optional> + <element name="xml"> <text/> </element> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/resources-2.28.rng b/xml/api/resources-2.28.rng new file mode 100644 index 0000000..3a79bfd --- /dev/null +++ b/xml/api/resources-2.28.rng @@ -0,0 +1,132 @@ +<?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-resource-list"/> + </start> + + <define name="element-resource-list"> + <interleave> + <zeroOrMore> + <ref name="element-bundle" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-clone" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-group" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </interleave> + </define> + + <define name="element-bundle"> + <element name="bundle"> + <attribute name="id"> <text/> </attribute> + <attribute name="type"> + <choice> + <value>docker</value> + <value>rkt</value> + <value>podman</value> + </choice> + </attribute> + <attribute name="image"> <text/> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <optional> + <attribute name="maintenance"> + <data type="boolean" /> + </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <zeroOrMore> + <element name="replica"> + <attribute name="id"> <data type="nonNegativeInteger" /> </attribute> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-clone"> + <element name="clone"> + <attribute name="id"> <text/> </attribute> + <attribute name="multi_state"> <data type="boolean" /> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <optional> + <attribute name="maintenance"> + <data type="boolean" /> + </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="disabled"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-group"> + <element name="group"> + <attribute name="id"> <text/> </attribute> + <attribute name="number_resources"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="maintenance"> + <data type="boolean" /> + </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="disabled"> <data type="boolean" /> </attribute> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-resource"> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="resource_agent"> <text/> </attribute> + <attribute name="role"> <text/> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <attribute name="active"> <data type="boolean" /> </attribute> + <attribute name="orphaned"> <data type="boolean" /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <optional> + <attribute name="maintenance"> + <data type="boolean" /> + </attribute> + </optional> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <attribute name="nodes_running_on"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="pending"> <text/> </attribute> + </optional> + <optional> + <attribute name="locked_to"> <text/> </attribute> + </optional> + <zeroOrMore> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="cached"> <data type="boolean" /> </attribute> + </element> + </zeroOrMore> + <optional> + <element name="xml"> <text/> </element> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/resources-2.29.rng b/xml/api/resources-2.29.rng new file mode 100644 index 0000000..f4214a7 --- /dev/null +++ b/xml/api/resources-2.29.rng @@ -0,0 +1,152 @@ +<?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-resource-list"/> + </start> + + <define name="element-resource-list"> + <interleave> + <zeroOrMore> + <ref name="element-bundle" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-clone" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-group" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </interleave> + </define> + + <define name="element-bundle"> + <element name="bundle"> + <attribute name="id"> <text/> </attribute> + <attribute name="type"> + <choice> + <value>docker</value> + <value>rkt</value> + <value>podman</value> + </choice> + </attribute> + <attribute name="image"> <text/> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <optional> + <attribute name="maintenance"> + <data type="boolean" /> + </attribute> + </optional> + <optional> + <attribute name="description"> + <text/> + </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <zeroOrMore> + <element name="replica"> + <attribute name="id"> <data type="nonNegativeInteger" /> </attribute> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-clone"> + <element name="clone"> + <attribute name="id"> <text/> </attribute> + <attribute name="multi_state"> <data type="boolean" /> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <optional> + <attribute name="maintenance"> + <data type="boolean" /> + </attribute> + </optional> + <optional> + <attribute name="description"> + <text/> + </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="disabled"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-group"> + <element name="group"> + <attribute name="id"> <text/> </attribute> + <attribute name="number_resources"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="maintenance"> + <data type="boolean" /> + </attribute> + </optional> + <optional> + <attribute name="description"> + <text/> + </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="disabled"> <data type="boolean" /> </attribute> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-resource"> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="resource_agent"> <text/> </attribute> + <attribute name="role"> <text/> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <attribute name="active"> <data type="boolean" /> </attribute> + <attribute name="orphaned"> <data type="boolean" /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <optional> + <attribute name="maintenance"> + <data type="boolean" /> + </attribute> + </optional> + <optional> + <attribute name="description"> + <text/> + </attribute> + </optional> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <attribute name="nodes_running_on"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="pending"> <text/> </attribute> + </optional> + <optional> + <attribute name="locked_to"> <text/> </attribute> + </optional> + <zeroOrMore> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="cached"> <data type="boolean" /> </attribute> + </element> + </zeroOrMore> + <optional> + <element name="xml"> <text/> </element> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/resources-2.4.rng b/xml/api/resources-2.4.rng new file mode 100644 index 0000000..e279583 --- /dev/null +++ b/xml/api/resources-2.4.rng @@ -0,0 +1,109 @@ +<?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-resource-list"/> + </start> + + <define name="element-resource-list"> + <interleave> + <zeroOrMore> + <ref name="element-bundle" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-clone" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-group" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </interleave> + </define> + + <define name="element-bundle"> + <element name="bundle"> + <attribute name="id"> <text/> </attribute> + <attribute name="type"> + <choice> + <value>docker</value> + <value>rkt</value> + <value>podman</value> + </choice> + </attribute> + <attribute name="image"> <text/> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <zeroOrMore> + <element name="replica"> + <attribute name="id"> <data type="nonNegativeInteger" /> </attribute> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-clone"> + <element name="clone"> + <attribute name="id"> <text/> </attribute> + <attribute name="multi_state"> <data type="boolean" /> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="disabled"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-group"> + <element name="group"> + <attribute name="id"> <text/> </attribute> + <attribute name="number_resources"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="disabled"> <data type="boolean" /> </attribute> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-resource"> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="resource_agent"> <text/> </attribute> + <attribute name="role"> <text/> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <attribute name="active"> <data type="boolean" /> </attribute> + <attribute name="orphaned"> <data type="boolean" /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <attribute name="nodes_running_on"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="pending"> <text/> </attribute> + </optional> + <zeroOrMore> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="cached"> <data type="boolean" /> </attribute> + </element> + </zeroOrMore> + <optional> + <element name="xml"> <text/> </element> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/status-2.0.rng b/xml/api/status-2.0.rng new file mode 100644 index 0000000..865ac08 --- /dev/null +++ b/xml/api/status-2.0.rng @@ -0,0 +1,25 @@ +<?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-status"/> + </start> + + <define name="element-status"> + <element name="status"> + <attribute name="code"> <data type="integer" /> </attribute> + <attribute name="message"> <text /> </attribute> + <optional> + <element name="errors"> + <oneOrMore> + <element name="error"> + <text /> + </element> + </oneOrMore> + </element> + </optional> + </element> + </define> + +</grammar> diff --git a/xml/api/stonith_admin-1.0.rng b/xml/api/stonith_admin-1.0.rng new file mode 100644 index 0000000..dd52a63 --- /dev/null +++ b/xml/api/stonith_admin-1.0.rng @@ -0,0 +1,92 @@ +<?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"> + <element name="list"> + <attribute name="name"> <text /> </attribute> + <attribute name="count"> <data type="nonNegativeInteger" /> </attribute> + <choice> + <zeroOrMore> + <ref name="fencing-history-event" /> + </zeroOrMore> + <zeroOrMore> + <ref name="fencing-target" /> + </zeroOrMore> + <zeroOrMore> + <ref name="device" /> + </zeroOrMore> + </choice> + </element> + </define> + + <define name="device"> + <element name="item"> + <attribute name="name"> <value>device</value> </attribute> + <data type="NCName" /> + </element> + </define> + + <define name="fencing-target"> + <element name="target"> + <attribute name="hostname"> <text /> </attribute> + <attribute name="uuid"> <text /> </attribute> + <attribute name="status"> <text /> </attribute> + </element> + </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> + <externalRef href="command-output-1.0.rng" /> + </optional> + </element> + </define> + + <define name="fencing-history-event"> + <element name="fence_event"> + <attribute name="status"> + <choice> + <value>failed</value> + <value>success</value> + <value>pending</value> + </choice> + </attribute> + <optional> + <attribute name="extended-status"> <text /> </attribute> + </optional> + <optional> + <attribute name="delegate"> <text /> </attribute> + </optional> + <attribute name="action"> <text /> </attribute> + <attribute name="target"> <text /> </attribute> + <attribute name="client"> <text /> </attribute> + <attribute name="origin"> <text /> </attribute> + <optional> + <attribute name="completed"> <text /> </attribute> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/stonith_admin-1.1.rng b/xml/api/stonith_admin-1.1.rng new file mode 100644 index 0000000..997670f --- /dev/null +++ b/xml/api/stonith_admin-1.1.rng @@ -0,0 +1,75 @@ +<?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"> + <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> + <ref name="fencing-history-event" /> + </oneOrMore> + </choice> + </element> + </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> + <externalRef href="command-output-1.0.rng" /> + </optional> + </element> + </define> + + <define name="fencing-history-event"> + <element name="fence_event"> + <attribute name="status"> + <choice> + <value>failed</value> + <value>success</value> + <value>pending</value> + </choice> + </attribute> + <optional> + <attribute name="extended-status"> <text /> </attribute> + </optional> + <optional> + <attribute name="delegate"> <text /> </attribute> + </optional> + <attribute name="action"> <text /> </attribute> + <attribute name="target"> <text /> </attribute> + <attribute name="client"> <text /> </attribute> + <attribute name="origin"> <text /> </attribute> + <optional> + <attribute name="completed"> <text /> </attribute> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/stonith_admin-2.0.rng b/xml/api/stonith_admin-2.0.rng new file mode 100644 index 0000000..260417c --- /dev/null +++ b/xml/api/stonith_admin-2.0.rng @@ -0,0 +1,50 @@ +<?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"> + <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.0.rng"/> + </oneOrMore> + </choice> + </element> + </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> + <externalRef href="command-output-1.0.rng" /> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/stonith_admin-2.1.rng b/xml/api/stonith_admin-2.1.rng new file mode 100644 index 0000000..23e6a11 --- /dev/null +++ b/xml/api/stonith_admin-2.1.rng @@ -0,0 +1,52 @@ +<?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.0.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> + <externalRef href="command-output-1.0.rng" /> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/stonith_admin-2.15.rng b/xml/api/stonith_admin-2.15.rng new file mode 100644 index 0000000..b55fae9 --- /dev/null +++ b/xml/api/stonith_admin-2.15.rng @@ -0,0 +1,52 @@ +<?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> + <externalRef href="command-output-1.0.rng" /> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/stonith_admin-2.23.rng b/xml/api/stonith_admin-2.23.rng new file mode 100644 index 0000000..f3fab68 --- /dev/null +++ b/xml/api/stonith_admin-2.23.rng @@ -0,0 +1,52 @@ +<?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> + <externalRef href="command-output-2.23.rng" /> + </optional> + </element> + </define> +</grammar> diff --git a/xml/api/subprocess-output-2.23.rng b/xml/api/subprocess-output-2.23.rng new file mode 100644 index 0000000..2f7a8e7 --- /dev/null +++ b/xml/api/subprocess-output-2.23.rng @@ -0,0 +1,24 @@ +<?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="subprocess-output" /> + </start> + + <define name="subprocess-output"> + <attribute name="code"> <data type="integer" /> </attribute> + <optional> + <element name="output"> + <attribute name="source"><value>stdout</value></attribute> + <text /> + </element> + </optional> + <optional> + <element name="output"> + <attribute name="source"><value>stderr</value></attribute> + <text /> + </element> + </optional> + </define> +</grammar> diff --git a/xml/api/version-2.0.rng b/xml/api/version-2.0.rng new file mode 100644 index 0000000..56c810b --- /dev/null +++ b/xml/api/version-2.0.rng @@ -0,0 +1,19 @@ +<?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-version"/> + </start> + + <define name="element-version"> + <element name="version"> + <attribute name="program"> <text /> </attribute> + <attribute name="version"> <text /> </attribute> + <attribute name="author"> <text /> </attribute> + <attribute name="build"> <text /> </attribute> + <attribute name="features"> <text /> </attribute> + </element> + </define> + +</grammar> |