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