trackers: commands: validate duplicate options
[deliverable/lttng-tools.git] / src / common / mi-lttng-3.0.xsd
index b51ce5a822b7ebbfa85724e00374ebd076d5eb4e..ecde3effd4db84dc5268052a1fde35eb652156e4 100644 (file)
@@ -23,8 +23,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-       targetNamespace="http://lttng.org/xml/ns/lttng-mi"
-       xmlns:tns="http://lttng.org/xml/ns/lttng-mi"
+       targetNamespace="https://lttng.org/xml/ns/lttng-mi"
+       xmlns:tns="https://lttng.org/xml/ns/lttng-mi"
        elementFormDefault="qualified" version="3.0">
 
        <!-- Maps to the uint32_t type -->
@@ -43,6 +43,19 @@ THE SOFTWARE.
                </xs:restriction>
        </xs:simpleType>
 
+       <!--
+       Maps to the range allowed for blocking timeout: -1 (block
+       forever), 0 (do not block), positive integer value (blocking
+       time in usec) limited by its signed 32-bit representation when
+       converted to msec.
+       -->
+       <xs:simpleType name="blocking_timeout_type">
+               <xs:restriction base="xs:integer">
+                       <xs:minInclusive value="-1" />
+                       <xs:maxInclusive value="2147483648000" />
+               </xs:restriction>
+       </xs:simpleType>
+
        <!-- Maps to the char name[LTTNG_SYMBOL_NAME_LEN] -->
        <xs:simpleType name="name_type">
                <xs:restriction base="xs:string">
@@ -60,8 +73,6 @@ THE SOFTWARE.
                        <xs:enumeration value="FUNCTION_ENTRY" />
                        <xs:enumeration value="NOOP" />
                        <xs:enumeration value="SYSCALL" />
-                       <xs:enumeration value="KPROBE" />
-                       <xs:enumeration value="KRETPROBE" />
                </xs:restriction>
        </xs:simpleType>
 
@@ -89,9 +100,6 @@ THE SOFTWARE.
        <!-- Maps to the lttng_event_context_type enum -->
        <xs:simpleType name="context_type_type">
                <xs:restriction base="xs:string">
-                       <xs:enumeration value="PERF_COUNTER" />
-                       <xs:enumeration value="PERF_CPU_COUNTER" />
-                       <xs:enumeration value="PERF_THREAD_COUNTER" />
                        <xs:enumeration value="PID" />
                        <xs:enumeration value="PROCNAME" />
                        <xs:enumeration value="PRIO" />
@@ -104,6 +112,10 @@ THE SOFTWARE.
                        <xs:enumeration value="PTHREAD_ID" />
                        <xs:enumeration value="HOSTNAME" />
                        <xs:enumeration value="IP" />
+                       <xs:enumeration value="INTERRUPTIBLE" />
+                       <xs:enumeration value="PREEMPTIBLE" />
+                       <xs:enumeration value="NEED_RESCHEDULE" />
+                       <xs:enumeration value="MIGRATABLE" />
                </xs:restriction>
        </xs:simpleType>
 
@@ -200,7 +212,6 @@ THE SOFTWARE.
                        <xs:element name="loglevel" type="tns:loglevel_string_type" default="" minOccurs="0" />
                        <xs:element name="enabled" type="xs:boolean" default="false" minOccurs="0" />
                        <xs:element name="filter_expression" type="xs:string" minOccurs="0" />
-                       <xs:element name="exclusion" type="xs:boolean" minOccurs="0" />
                        <xs:element name="exclusions" type="tns:event_exclusion_list_type" minOccurs="0"/>
                        <xs:element name="attributes" type="tns:event_attributes_type" minOccurs="0" />
                        <xs:element name="event_fields" type="tns:event_fields_type" minOccurs="0" />
@@ -282,6 +293,14 @@ THE SOFTWARE.
                </xs:sequence>
        </xs:complexType>
 
+       <xs:simpleType name="tracker_target_type">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="ALL" />
+                       <xs:enumeration value="NONE" />
+                       <xs:enumeration value="LIST" />
+               </xs:restriction>
+       </xs:simpleType>
+
        <xs:simpleType name="pidbyint">
                <xs:restriction base="xs:integer">
                        <xs:minInclusive value="0"/>
@@ -289,43 +308,232 @@ THE SOFTWARE.
                </xs:restriction>
        </xs:simpleType>
 
-       <xs:simpleType name="pidwildcard">
-               <xs:restriction base="xs:string">
-                       <xs:enumeration value="*"/>
-               </xs:restriction>
-       </xs:simpleType>
+       <xs:complexType name="pid_target_type_choice">
+               <xs:choice>
+                       <xs:element name="id" type="tns:pidbyint" />
+                       <xs:element name="name" type="xs:string" />
+                       <xs:element name="all" type="xs:boolean" />
+               </xs:choice>
+       </xs:complexType>
 
        <xs:complexType name="pid_target_type">
                <xs:all>
-                       <xs:element name="pid">
-                               <xs:simpleType>
-                                       <xs:union memberTypes="tns:pidbyint tns:pidwildcard" />
-                               </xs:simpleType>
-                       </xs:element>
+                       <xs:element name="type" type="tns:pid_target_type_choice" />
                        <xs:element name="success" type="xs:boolean" default="false" minOccurs="0" />
                </xs:all>
        </xs:complexType>
 
        <!-- Maps to a list of pid_targets-->
-       <xs:complexType name="targets_type">
+       <xs:complexType name="pid_targets_type">
                <xs:sequence>
-                       <xs:choice>
-                               <xs:element name="pid_target" type="tns:pid_target_type" minOccurs="0" maxOccurs="unbounded"/>
-                       </xs:choice>
+                       <xs:element name="pid_target" type="tns:pid_target_type" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
        </xs:complexType>
 
        <!-- Maps to a pid_tracker-->
        <xs:complexType name="pid_tracker_type">
                <xs:all>
-                       <xs:element name="targets" type="tns:targets_type" />
+                       <xs:element name="target_type" type="tns:tracker_target_type" minOccurs="0" maxOccurs="1" />
+                       <xs:element name="targets" type="tns:pid_targets_type" minOccurs="0" />
+               </xs:all>
+       </xs:complexType>
+
+       <xs:simpleType name="vpidbyint">
+               <xs:restriction base="xs:integer">
+                       <xs:minInclusive value="0"/>
+                       <xs:maxInclusive value="4294967295" />
+               </xs:restriction>
+       </xs:simpleType>
+
+       <xs:complexType name="vpid_target_type_choice">
+               <xs:choice>
+                       <xs:element name="id" type="tns:vpidbyint" />
+                       <xs:element name="name" type="xs:string" />
+                       <xs:element name="all" type="xs:boolean" />
+               </xs:choice>
+       </xs:complexType>
+
+       <xs:complexType name="vpid_target_type">
+               <xs:all>
+                       <xs:element name="type" type="tns:vpid_target_type_choice" minOccurs="0" maxOccurs="1" />
+                       <xs:element name="success" type="xs:boolean" default="false" minOccurs="0" />
+               </xs:all>
+       </xs:complexType>
+
+       <!-- Maps to a list of vpid_targets-->
+       <xs:complexType name="vpid_targets_type">
+               <xs:sequence>
+                       <xs:element name="vpid_target" type="tns:vpid_target_type" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+
+       <!-- Maps to a vpid_tracker-->
+       <xs:complexType name="vpid_tracker_type">
+               <xs:all>
+                       <xs:element name="target_type" type="tns:tracker_target_type" minOccurs="0" maxOccurs="1" />
+                       <xs:element name="targets" type="tns:vpid_targets_type" minOccurs="0" />
+               </xs:all>
+       </xs:complexType>
+
+       <xs:simpleType name="uidbyint">
+               <xs:restriction base="xs:integer">
+                       <xs:minInclusive value="0"/>
+                       <xs:maxInclusive value="4294967295" />
+               </xs:restriction>
+       </xs:simpleType>
+
+       <xs:complexType name="uid_target_type_choice">
+               <xs:choice>
+                       <xs:element name="id" type="tns:uidbyint" />
+                       <xs:element name="name" type="xs:string" />
+                       <xs:element name="all" type="xs:boolean" />
+               </xs:choice>
+       </xs:complexType>
+
+       <xs:complexType name="uid_target_type">
+               <xs:all>
+                       <xs:element name="type" type="tns:uid_target_type_choice" minOccurs="0" maxOccurs="1" />
+                       <xs:element name="success" type="xs:boolean" default="false" minOccurs="0" />
+               </xs:all>
+       </xs:complexType>
+
+       <!-- Maps to a list of uid_targets-->
+       <xs:complexType name="uid_targets_type">
+               <xs:sequence>
+                       <xs:element name="uid_target" type="tns:uid_target_type" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+
+       <!-- Maps to a uid_tracker-->
+       <xs:complexType name="uid_tracker_type">
+               <xs:all>
+                       <xs:element name="target_type" type="tns:tracker_target_type" minOccurs="0" maxOccurs="1" />
+                       <xs:element name="targets" type="tns:uid_targets_type" minOccurs="0" />
+               </xs:all>
+       </xs:complexType>
+
+       <xs:simpleType name="vuidbyint">
+               <xs:restriction base="xs:integer">
+                       <xs:minInclusive value="0"/>
+                       <xs:maxInclusive value="4294967295" />
+               </xs:restriction>
+       </xs:simpleType>
+
+       <xs:complexType name="vuid_target_type_choice">
+               <xs:choice>
+                       <xs:element name="id" type="tns:vuidbyint" />
+                       <xs:element name="name" type="xs:string" />
+                       <xs:element name="all" type="xs:boolean" />
+               </xs:choice>
+       </xs:complexType>
+
+       <xs:complexType name="vuid_target_type">
+               <xs:all>
+                       <xs:element name="type" type="tns:vuid_target_type_choice" minOccurs="0" maxOccurs="1" />
+                       <xs:element name="success" type="xs:boolean" default="false" minOccurs="0" />
+               </xs:all>
+       </xs:complexType>
+
+       <!-- Maps to a list of vuid_targets-->
+       <xs:complexType name="vuid_targets_type">
+               <xs:sequence>
+                       <xs:element name="vuid_target" type="tns:vuid_target_type" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+
+       <!-- Maps to a vuid_tracker-->
+       <xs:complexType name="vuid_tracker_type">
+               <xs:all>
+                       <xs:element name="target_type" type="tns:tracker_target_type" minOccurs="0" maxOccurs="1" />
+                       <xs:element name="targets" type="tns:vuid_targets_type" minOccurs="0" />
+               </xs:all>
+       </xs:complexType>
+
+       <xs:simpleType name="gidbyint">
+               <xs:restriction base="xs:integer">
+                       <xs:minInclusive value="0"/>
+                       <xs:maxInclusive value="4294967295" />
+               </xs:restriction>
+       </xs:simpleType>
+
+       <xs:complexType name="gid_target_type_choice">
+               <xs:choice>
+                       <xs:element name="id" type="tns:gidbyint" />
+                       <xs:element name="name" type="xs:string" />
+                       <xs:element name="all" type="xs:boolean" />
+               </xs:choice>
+       </xs:complexType>
+
+       <xs:complexType name="gid_target_type">
+               <xs:all>
+                       <xs:element name="type" type="tns:gid_target_type_choice" minOccurs="0" maxOccurs="1" />
+                       <xs:element name="success" type="xs:boolean" default="false" minOccurs="0" />
+               </xs:all>
+       </xs:complexType>
+
+       <!-- Maps to a list of gid_targets-->
+       <xs:complexType name="gid_targets_type">
+               <xs:sequence>
+                       <xs:element name="gid_target" type="tns:gid_target_type" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+
+       <!-- Maps to a gid_tracker-->
+       <xs:complexType name="gid_tracker_type">
+               <xs:all>
+                       <xs:element name="target_type" type="tns:tracker_target_type" minOccurs="0" maxOccurs="1" />
+                       <xs:element name="targets" type="tns:gid_targets_type" minOccurs="0" />
+               </xs:all>
+       </xs:complexType>
+
+       <xs:simpleType name="vgidbyint">
+               <xs:restriction base="xs:integer">
+                       <xs:minInclusive value="0"/>
+                       <xs:maxInclusive value="4294967295" />
+               </xs:restriction>
+       </xs:simpleType>
+
+       <xs:complexType name="vgid_target_type_choice">
+               <xs:choice>
+                       <xs:element name="id" type="tns:vgidbyint" />
+                       <xs:element name="name" type="xs:string" />
+                       <xs:element name="all" type="xs:boolean" />
+               </xs:choice>
+       </xs:complexType>
+
+       <xs:complexType name="vgid_target_type">
+               <xs:all>
+                       <xs:element name="type" type="tns:vgid_target_type_choice" minOccurs="0" maxOccurs="1" />
+                       <xs:element name="success" type="xs:boolean" default="false" minOccurs="0" />
+               </xs:all>
+       </xs:complexType>
+
+       <!-- Maps to a list of vgid_targets-->
+       <xs:complexType name="vgid_targets_type">
+               <xs:sequence>
+                       <xs:element name="vgid_target" type="tns:vgid_target_type" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+
+       <!-- Maps to a vgid_tracker-->
+       <xs:complexType name="vgid_tracker_type">
+               <xs:all>
+                       <xs:element name="target_type" type="tns:tracker_target_type" minOccurs="0" maxOccurs="1" />
+                       <xs:element name="targets" type="tns:vgid_targets_type" minOccurs="0" />
                </xs:all>
        </xs:complexType>
 
        <!-- Maps to a list of trackers-->
        <xs:complexType name="trackers_type">
-               <xs:sequence minOccurs="0" maxOccurs="unbounded">
-                       <xs:element name="pid_tracker" type="tns:pid_tracker_type" maxOccurs="1" />
+               <xs:sequence>
+                       <xs:choice minOccurs="0" maxOccurs="unbounded">
+                               <xs:element name="pid_tracker" type="tns:pid_tracker_type" maxOccurs="1" />
+                               <xs:element name="vpid_tracker" type="tns:vpid_tracker_type" maxOccurs="1" />
+                               <xs:element name="uid_tracker" type="tns:uid_tracker_type" maxOccurs="1" />
+                               <xs:element name="vuid_tracker" type="tns:vuid_tracker_type" maxOccurs="1" />
+                               <xs:element name="gid_tracker" type="tns:gid_tracker_type" maxOccurs="1" />
+                               <xs:element name="vgid_tracker" type="tns:vgid_tracker_type" maxOccurs="1" />
+                       </xs:choice>
                </xs:sequence>
        </xs:complexType>
 
@@ -364,6 +572,10 @@ THE SOFTWARE.
                        <xs:element name="tracefile_size" type="tns:uint64_type" default="0" minOccurs="0" /> <!-- bytes -->
                        <xs:element name="tracefile_count" type="tns:uint64_type" default="0" minOccurs="0" />
                        <xs:element name="live_timer_interval" type="tns:uint32_type" default="0" minOccurs="0" /> <!-- usec -->
+                       <xs:element name="discarded_events" type="tns:uint64_type" default="0" minOccurs="0" />
+                       <xs:element name="lost_packets" type="tns:uint64_type" default="0" minOccurs="0" />
+                       <xs:element name="monitor_timer_interval" type="tns:uint64_type" default="0" minOccurs="0" />
+                       <xs:element name="blocking_timeout" type="tns:blocking_timeout_type" default="0" minOccurs="0" />
                </xs:all>
        </xs:complexType>
 
@@ -374,8 +586,8 @@ THE SOFTWARE.
                        <xs:element name="max_size" type="tns:uint64_type" minOccurs="0" />
                        <xs:element name="name" type="tns:name_type" minOccurs="0" />
                        <xs:element name="session_name" type="tns:name_type" minOccurs="0" />
-                       <xs:element name="ctrl_url" type="tns:name_type" minOccurs="0" />
-                       <xs:element name="data_url" type="tns:name_type" minOccurs="0" />
+                       <xs:element name="ctrl_url" type="xs:string" minOccurs="0" />
+                       <xs:element name="data_url" type="xs:string" minOccurs="0" />
                </xs:all>
        </xs:complexType>
 
@@ -395,13 +607,15 @@ THE SOFTWARE.
        <xs:complexType name="session_type">
                <xs:all>
                        <xs:element name="name" type="tns:name_type" />
-                       <xs:element name="path" type="tns:name_type" minOccurs="0" />
+                       <xs:element name="path" type="xs:string" minOccurs="0" />
                        <xs:element name="enabled" type="xs:boolean" default="false" minOccurs="0" />
                        <xs:element name="snapshot_mode" type="tns:uint32_type" minOccurs="0" />
                        <xs:element name="live_timer_interval" type="tns:uint32_type" minOccurs="0" />
                        <xs:element name="channels" type="tns:channels_type" minOccurs="0" />
                        <xs:element name="domains" type="tns:domains_type" minOccurs="0" />
                        <xs:element name="snapshots" type="tns:snapshots_type" minOccurs="0" />
+                       <xs:element name="rotation_schedule_size" type="tns:uint64_type" default="0" minOccurs="0" /> <!-- bytes -->
+                       <xs:element name="rotation_schedule_timer_period" type="tns:uint64_type" default="0" minOccurs="0" /> <!-- usec -->
                </xs:all>
        </xs:complexType>
 
@@ -418,7 +632,7 @@ THE SOFTWARE.
        <xs:complexType name="save_type">
                <xs:all>
                        <xs:element name="session" type="tns:session_type" />
-                       <xs:element name="path" type="tns:name_type" />
+                       <xs:element name="path" type="xs:string" />
                </xs:all>
        </xs:complexType>
 
@@ -426,7 +640,16 @@ THE SOFTWARE.
        <xs:complexType name="load_type">
                <xs:all>
                        <xs:element name="session" type="tns:session_type" />
-                       <xs:element name="path" type="tns:name_type" />
+                       <xs:element name="path" type="xs:string" />
+                       <xs:element name="overrides" type="tns:overrides_type" />
+               </xs:all>
+       </xs:complexType>
+
+       <!-- Maps to the override parameters of the load command -->
+       <xs:complexType name="overrides_type">
+               <xs:all>
+                       <xs:element name="name" type="tns:name_type" minOccurs="0" />
+                       <xs:element name="url" type="xs:string" minOccurs="0" />
                </xs:all>
        </xs:complexType>
 
@@ -440,21 +663,32 @@ THE SOFTWARE.
        <!-- Maps to lttng_event_perf_counter_ctx -->
        <xs:complexType name="perf_counter_context_type">
                <xs:all>
-                       <xs:element name="type" type="uint32_type" />
-                       <xs:element name="config" type="uint64_type" />
-                       <xs:element name="name" type="name_type" />
+                       <xs:element name="type" type="tns:uint32_type" />
+                       <xs:element name="config" type="tns:uint64_type" />
+                       <xs:element name="name" type="tns:name_type" />
                </xs:all>
        </xs:complexType>
 
-       <!-- Maps to lttng_event_context -->
-       <xs:complexType name="context_type">
+       <!-- Maps to app_ctx -->
+       <xs:complexType name="app_context_type">
                <xs:all>
-                       <xs:element name="type" type="context_type_type" />
-                       <xs:element name="perf_counter_context" type="perf_counter_context_type" minOccurs="0" />
-                       <xs:element name="success" type="xs:boolean" default="false" minOccurs="0" />
+                       <xs:element name="provider_name" type="xs:string"/>
+                       <xs:element name="ctx_name" type="xs:string"/>
                </xs:all>
        </xs:complexType>
 
+       <!-- Maps to lttng_event_context -->
+       <xs:complexType name="context_type">
+               <xs:sequence>
+                       <xs:choice>
+                               <xs:element name="type" type="tns:context_type_type"/>
+                               <xs:element name="perf" type="tns:perf_counter_context_type"/>
+                               <xs:element name="app" type="tns:app_context_type"/>
+                       </xs:choice>
+                       <xs:element name="symbol" type="xs:string" minOccurs="0" />
+               </xs:sequence>
+       </xs:complexType>
+
        <!-- Maps to an array of domain -->
        <xs:complexType name="domains_type">
                <xs:sequence>
@@ -483,16 +717,16 @@ THE SOFTWARE.
                </xs:sequence>
        </xs:complexType>
 
-       <!-- Maps to an action dutring snapshot command -->
-       <xs:complexType name="snapshot_action_type">
+       <!-- Maps to an action during snapshot command -->
+       <xs:complexType name="snapshot_cmd_type">
                <xs:sequence>
-                       <xs:element name="name" type="tns:snapshot_actiontype_type" minOccurs="0" />
+                       <xs:element name="name" type="tns:snapshot_action_type" minOccurs="0" />
                        <xs:element name="output" type="tns:output_type" minOccurs="0" />
                </xs:sequence>
        </xs:complexType>
 
        <!-- Type of snapshot commands -->
-       <xs:simpleType name="snapshot_actiontype_type">
+       <xs:simpleType name="snapshot_action_type">
                <xs:restriction base="xs:string">
                        <xs:enumeration value="list-output" />
                        <xs:enumeration value="del-output" />
@@ -501,12 +735,67 @@ THE SOFTWARE.
                </xs:restriction>
        </xs:simpleType>
 
+       <!-- Maps to an action during metadata command -->
+       <xs:complexType name="metadata_cmd_type">
+               <xs:sequence>
+                       <xs:element name="name" type="tns:metadata_action_type" minOccurs="0" />
+               </xs:sequence>
+       </xs:complexType>
+
+       <!-- Type of metadata commands -->
+       <xs:simpleType name="metadata_action_type">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="regenerate" />
+               </xs:restriction>
+       </xs:simpleType>
+
+       <!-- Type of regenerate commands -->
+       <xs:simpleType name="regenerate_action_type">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="metadata" />
+                       <xs:enumeration value="statedump" />
+               </xs:restriction>
+       </xs:simpleType>
+
+       <!-- Type of regenerate command -->
+       <xs:complexType name="regenerate_cmd_type">
+               <xs:sequence>
+                       <xs:element name="name" type="tns:regenerate_action_type" minOccurs="0" />
+               </xs:sequence>
+       </xs:complexType>
+
+       <!-- Maps to the rotate command -->
+       <xs:complexType name="rotation_type">
+               <xs:all>
+                       <xs:element name="session_name" type="tns:name_type" minOccurs="0" />
+                       <xs:element name="status" type="xs:string" />
+                       <xs:element name="path" type="xs:string" minOccurs="0" />
+               </xs:all>
+       </xs:complexType>
+
+       <!-- Maps to an array of rotations -->
+       <xs:complexType name="rotations_type">
+               <xs:sequence>
+                       <xs:element name="rotation" type="tns:rotation_type" minOccurs="0" maxOccurs="unbounded" />
+               </xs:sequence>
+       </xs:complexType>
+
+       <!-- Maps to the enable-rotation command -->
+       <xs:complexType name="rotation_schedule_type">
+               <xs:sequence>
+                       <xs:element name="session_name" type="tns:name_type" minOccurs="0" />
+                       <xs:element name="rotation_schedule_size" type="tns:uint64_type" default="0" minOccurs="0" /> <!-- bytes -->
+                       <xs:element name="rotation_schedule_timer_period" type="tns:uint64_type" default="0" minOccurs="0" /> <!-- usec -->
+                       <xs:element name="status" type="xs:string" minOccurs="0"/>
+               </xs:sequence>
+       </xs:complexType>
+
        <xs:complexType name="output_type">
                <xs:choice>
                        <xs:element name="domains" type="tns:domains_type" minOccurs="0" />
                        <xs:element name="sessions" type="tns:sessions_type" minOccurs="0" />
                        <xs:element name="session" type="tns:session_type" minOccurs="0" />
-                       <xs:element name="snapshot_action" type="tns:snapshot_action_type" minOccurs="0" />
+                       <xs:element name="snapshot_action" type="tns:snapshot_cmd_type" minOccurs="0" />
                        <xs:element name="snapshot" type="tns:snapshot_type" minOccurs="0" />
                        <xs:element name="version" type="tns:version_type" minOccurs="0" />
                        <xs:element name="save" type="tns:save_type" minOccurs="0" />
@@ -516,7 +805,11 @@ THE SOFTWARE.
                        <xs:element name="channels" type="tns:channels_type" minOccurs="0" />
                        <xs:element name="events" type="tns:event_list_type" minOccurs="0" />
                        <xs:element name="channel" type="tns:channel_type" minOccurs="0" />
-                       <xs:element name="targets" type="tns:targets_type" minOccurs="0" />
+                       <xs:element name="trackers" type="tns:trackers_type" minOccurs="0" />
+                       <xs:element name="metadata_action" type="tns:metadata_cmd_type" minOccurs="0" />
+                       <xs:element name="regenerate_action" type="tns:regenerate_cmd_type" minOccurs="0" />
+                       <xs:element name="rotations" type="tns:rotations_type" minOccurs="0" />
+                       <xs:element name="rotation_schedule" type="tns:rotation_schedule_type" minOccurs="0" />
                </xs:choice>
        </xs:complexType>
 
@@ -541,6 +834,11 @@ THE SOFTWARE.
                        <xs:enumeration value="disable-channel" />
                        <xs:enumeration value="track" />
                        <xs:enumeration value="untrack" />
+                       <xs:enumeration value="metadata" />
+                       <xs:enumeration value="regenerate" />
+                       <xs:enumeration value="rotate" />
+                       <xs:enumeration value="enable-rotation" />
+                       <xs:enumeration value="disable-rotation" />
                </xs:restriction>
        </xs:simpleType>
 
@@ -551,6 +849,7 @@ THE SOFTWARE.
                                <xs:element name="output" type="tns:output_type" maxOccurs="1" />
                                <xs:element name="success" type="xs:boolean" minOccurs="0" maxOccurs="1" />
                        </xs:all>
+                       <xs:attribute name="schemaVersion" type="xs:string" use="required"/>
                </xs:complexType>
        </xs:element>
 </xs:schema>
This page took 0.053703 seconds and 5 git commands to generate.