rsmp 0.42.9 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (993) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -0
  3. data/CHANGELOG.md +7 -1
  4. data/Gemfile.lock +3 -5
  5. data/Rakefile +36 -0
  6. data/lib/rsmp/cli.rb +19 -32
  7. data/lib/rsmp/convert/export/json_schema/items.rb +55 -0
  8. data/lib/rsmp/convert/export/json_schema/outputs.rb +147 -0
  9. data/lib/rsmp/convert/export/json_schema/values.rb +120 -0
  10. data/lib/rsmp/convert/export/json_schema.rb +58 -0
  11. data/lib/rsmp/message.rb +0 -2
  12. data/lib/rsmp/schema.rb +210 -0
  13. data/lib/rsmp/schema_error.rb +19 -0
  14. data/lib/rsmp/version.rb +1 -1
  15. data/lib/rsmp.rb +6 -2
  16. data/rsmp.gemspec +2 -1
  17. data/schemas/core/3.1.2/aggregated_status.json +25 -0
  18. data/schemas/core/3.1.2/alarm.json +67 -0
  19. data/schemas/core/3.1.2/alarm_acknowledge.json +12 -0
  20. data/schemas/core/3.1.2/alarm_issue.json +47 -0
  21. data/schemas/core/3.1.2/alarm_suspend_resume.json +3 -0
  22. data/schemas/core/3.1.2/alarm_suspended_resumed.json +47 -0
  23. data/schemas/core/3.1.2/command_request.json +24 -0
  24. data/schemas/core/3.1.2/command_response.json +34 -0
  25. data/schemas/core/3.1.2/core.json +38 -0
  26. data/schemas/core/3.1.2/definitions.json +67 -0
  27. data/schemas/core/3.1.2/message_ack.json +11 -0
  28. data/schemas/core/3.1.2/message_not_ack.json +15 -0
  29. data/schemas/core/3.1.2/rsmp.json +124 -0
  30. data/schemas/core/3.1.2/status.json +21 -0
  31. data/schemas/core/3.1.2/status_request.json +5 -0
  32. data/schemas/core/3.1.2/status_response.json +26 -0
  33. data/schemas/core/3.1.2/status_subscribe.json +27 -0
  34. data/schemas/core/3.1.2/status_unsubscribe.json +5 -0
  35. data/schemas/core/3.1.2/status_update.json +26 -0
  36. data/schemas/core/3.1.2/version.json +47 -0
  37. data/schemas/core/3.1.2/watchdog.json +9 -0
  38. data/schemas/core/3.1.3/aggregated_status.json +25 -0
  39. data/schemas/core/3.1.3/alarm.json +67 -0
  40. data/schemas/core/3.1.3/alarm_acknowledge.json +12 -0
  41. data/schemas/core/3.1.3/alarm_issue.json +47 -0
  42. data/schemas/core/3.1.3/alarm_suspend_resume.json +3 -0
  43. data/schemas/core/3.1.3/alarm_suspended_resumed.json +47 -0
  44. data/schemas/core/3.1.3/command_request.json +24 -0
  45. data/schemas/core/3.1.3/command_response.json +34 -0
  46. data/schemas/core/3.1.3/core.json +38 -0
  47. data/schemas/core/3.1.3/definitions.json +67 -0
  48. data/schemas/core/3.1.3/message_ack.json +11 -0
  49. data/schemas/core/3.1.3/message_not_ack.json +15 -0
  50. data/schemas/core/3.1.3/rsmp.json +124 -0
  51. data/schemas/core/3.1.3/status.json +21 -0
  52. data/schemas/core/3.1.3/status_request.json +5 -0
  53. data/schemas/core/3.1.3/status_response.json +41 -0
  54. data/schemas/core/3.1.3/status_subscribe.json +27 -0
  55. data/schemas/core/3.1.3/status_unsubscribe.json +5 -0
  56. data/schemas/core/3.1.3/status_update.json +41 -0
  57. data/schemas/core/3.1.3/version.json +47 -0
  58. data/schemas/core/3.1.3/watchdog.json +9 -0
  59. data/schemas/core/3.1.4/aggregated_status.json +25 -0
  60. data/schemas/core/3.1.4/alarm.json +65 -0
  61. data/schemas/core/3.1.4/alarm_acknowledge.json +12 -0
  62. data/schemas/core/3.1.4/alarm_issue.json +47 -0
  63. data/schemas/core/3.1.4/alarm_suspend_resume.json +3 -0
  64. data/schemas/core/3.1.4/alarm_suspended_resumed.json +47 -0
  65. data/schemas/core/3.1.4/command_request.json +24 -0
  66. data/schemas/core/3.1.4/command_response.json +34 -0
  67. data/schemas/core/3.1.4/core.json +38 -0
  68. data/schemas/core/3.1.4/definitions.json +67 -0
  69. data/schemas/core/3.1.4/message_ack.json +11 -0
  70. data/schemas/core/3.1.4/message_not_ack.json +15 -0
  71. data/schemas/core/3.1.4/rsmp.json +124 -0
  72. data/schemas/core/3.1.4/status.json +21 -0
  73. data/schemas/core/3.1.4/status_request.json +5 -0
  74. data/schemas/core/3.1.4/status_response.json +41 -0
  75. data/schemas/core/3.1.4/status_subscribe.json +27 -0
  76. data/schemas/core/3.1.4/status_unsubscribe.json +5 -0
  77. data/schemas/core/3.1.4/status_update.json +41 -0
  78. data/schemas/core/3.1.4/version.json +47 -0
  79. data/schemas/core/3.1.4/watchdog.json +9 -0
  80. data/schemas/core/3.1.5/aggregated_status.json +25 -0
  81. data/schemas/core/3.1.5/aggregated_status_request.json +9 -0
  82. data/schemas/core/3.1.5/alarm.json +75 -0
  83. data/schemas/core/3.1.5/alarm_acknowledge.json +12 -0
  84. data/schemas/core/3.1.5/alarm_issue.json +47 -0
  85. data/schemas/core/3.1.5/alarm_request.json +3 -0
  86. data/schemas/core/3.1.5/alarm_suspend_resume.json +3 -0
  87. data/schemas/core/3.1.5/alarm_suspended_resumed.json +47 -0
  88. data/schemas/core/3.1.5/command_request.json +24 -0
  89. data/schemas/core/3.1.5/command_response.json +34 -0
  90. data/schemas/core/3.1.5/core.json +39 -0
  91. data/schemas/core/3.1.5/definitions.json +67 -0
  92. data/schemas/core/3.1.5/message_ack.json +11 -0
  93. data/schemas/core/3.1.5/message_not_ack.json +15 -0
  94. data/schemas/core/3.1.5/rsmp.json +133 -0
  95. data/schemas/core/3.1.5/status.json +21 -0
  96. data/schemas/core/3.1.5/status_request.json +5 -0
  97. data/schemas/core/3.1.5/status_response.json +41 -0
  98. data/schemas/core/3.1.5/status_subscribe.json +31 -0
  99. data/schemas/core/3.1.5/status_unsubscribe.json +5 -0
  100. data/schemas/core/3.1.5/status_update.json +41 -0
  101. data/schemas/core/3.1.5/version.json +47 -0
  102. data/schemas/core/3.1.5/watchdog.json +9 -0
  103. data/schemas/core/3.2.0/aggregated_status.json +25 -0
  104. data/schemas/core/3.2.0/aggregated_status_request.json +9 -0
  105. data/schemas/core/3.2.0/alarm.json +71 -0
  106. data/schemas/core/3.2.0/alarm_acknowledge.json +11 -0
  107. data/schemas/core/3.2.0/alarm_issue.json +44 -0
  108. data/schemas/core/3.2.0/alarm_request.json +3 -0
  109. data/schemas/core/3.2.0/alarm_suspend_resume.json +3 -0
  110. data/schemas/core/3.2.0/alarm_suspended_resumed.json +44 -0
  111. data/schemas/core/3.2.0/command_request.json +24 -0
  112. data/schemas/core/3.2.0/command_response.json +34 -0
  113. data/schemas/core/3.2.0/core.json +39 -0
  114. data/schemas/core/3.2.0/definitions.json +67 -0
  115. data/schemas/core/3.2.0/message_ack.json +11 -0
  116. data/schemas/core/3.2.0/message_not_ack.json +15 -0
  117. data/schemas/core/3.2.0/rsmp.json +133 -0
  118. data/schemas/core/3.2.0/status.json +21 -0
  119. data/schemas/core/3.2.0/status_request.json +5 -0
  120. data/schemas/core/3.2.0/status_response.json +41 -0
  121. data/schemas/core/3.2.0/status_subscribe.json +31 -0
  122. data/schemas/core/3.2.0/status_unsubscribe.json +5 -0
  123. data/schemas/core/3.2.0/status_update.json +41 -0
  124. data/schemas/core/3.2.0/version.json +47 -0
  125. data/schemas/core/3.2.0/watchdog.json +9 -0
  126. data/schemas/core/3.2.1/aggregated_status.json +25 -0
  127. data/schemas/core/3.2.1/aggregated_status_request.json +9 -0
  128. data/schemas/core/3.2.1/alarm.json +71 -0
  129. data/schemas/core/3.2.1/alarm_acknowledge.json +11 -0
  130. data/schemas/core/3.2.1/alarm_issue.json +44 -0
  131. data/schemas/core/3.2.1/alarm_request.json +3 -0
  132. data/schemas/core/3.2.1/alarm_suspend_resume.json +3 -0
  133. data/schemas/core/3.2.1/alarm_suspended_resumed.json +44 -0
  134. data/schemas/core/3.2.1/command_request.json +24 -0
  135. data/schemas/core/3.2.1/command_response.json +34 -0
  136. data/schemas/core/3.2.1/core.json +39 -0
  137. data/schemas/core/3.2.1/definitions.json +67 -0
  138. data/schemas/core/3.2.1/message_ack.json +11 -0
  139. data/schemas/core/3.2.1/message_not_ack.json +15 -0
  140. data/schemas/core/3.2.1/rsmp.json +133 -0
  141. data/schemas/core/3.2.1/status.json +21 -0
  142. data/schemas/core/3.2.1/status_request.json +5 -0
  143. data/schemas/core/3.2.1/status_response.json +41 -0
  144. data/schemas/core/3.2.1/status_subscribe.json +31 -0
  145. data/schemas/core/3.2.1/status_unsubscribe.json +5 -0
  146. data/schemas/core/3.2.1/status_update.json +41 -0
  147. data/schemas/core/3.2.1/version.json +47 -0
  148. data/schemas/core/3.2.1/watchdog.json +9 -0
  149. data/schemas/core/3.2.2/aggregated_status.json +25 -0
  150. data/schemas/core/3.2.2/aggregated_status_request.json +9 -0
  151. data/schemas/core/3.2.2/alarm.json +71 -0
  152. data/schemas/core/3.2.2/alarm_acknowledge.json +11 -0
  153. data/schemas/core/3.2.2/alarm_issue.json +44 -0
  154. data/schemas/core/3.2.2/alarm_request.json +3 -0
  155. data/schemas/core/3.2.2/alarm_suspend_resume.json +3 -0
  156. data/schemas/core/3.2.2/alarm_suspended_resumed.json +44 -0
  157. data/schemas/core/3.2.2/command_request.json +24 -0
  158. data/schemas/core/3.2.2/command_response.json +34 -0
  159. data/schemas/core/3.2.2/core.json +39 -0
  160. data/schemas/core/3.2.2/definitions.json +67 -0
  161. data/schemas/core/3.2.2/message_ack.json +11 -0
  162. data/schemas/core/3.2.2/message_not_ack.json +15 -0
  163. data/schemas/core/3.2.2/rsmp.json +133 -0
  164. data/schemas/core/3.2.2/status.json +21 -0
  165. data/schemas/core/3.2.2/status_request.json +5 -0
  166. data/schemas/core/3.2.2/status_response.json +41 -0
  167. data/schemas/core/3.2.2/status_subscribe.json +31 -0
  168. data/schemas/core/3.2.2/status_unsubscribe.json +5 -0
  169. data/schemas/core/3.2.2/status_update.json +41 -0
  170. data/schemas/core/3.2.2/version.json +47 -0
  171. data/schemas/core/3.2.2/watchdog.json +9 -0
  172. data/schemas/tlc/1.0.10/alarms/A0001.json +4 -0
  173. data/schemas/tlc/1.0.10/alarms/A0002.json +4 -0
  174. data/schemas/tlc/1.0.10/alarms/A0003.json +4 -0
  175. data/schemas/tlc/1.0.10/alarms/A0004.json +4 -0
  176. data/schemas/tlc/1.0.10/alarms/A0005.json +4 -0
  177. data/schemas/tlc/1.0.10/alarms/A0006.json +4 -0
  178. data/schemas/tlc/1.0.10/alarms/A0007.json +4 -0
  179. data/schemas/tlc/1.0.10/alarms/A0008.json +30 -0
  180. data/schemas/tlc/1.0.10/alarms/A0009.json +4 -0
  181. data/schemas/tlc/1.0.10/alarms/A0101.json +4 -0
  182. data/schemas/tlc/1.0.10/alarms/A0201.json +35 -0
  183. data/schemas/tlc/1.0.10/alarms/A0202.json +35 -0
  184. data/schemas/tlc/1.0.10/alarms/A0301.json +92 -0
  185. data/schemas/tlc/1.0.10/alarms/A0302.json +115 -0
  186. data/schemas/tlc/1.0.10/alarms/alarms.json +239 -0
  187. data/schemas/tlc/1.0.10/commands/M0001.json +92 -0
  188. data/schemas/tlc/1.0.10/commands/M0002.json +69 -0
  189. data/schemas/tlc/1.0.10/commands/M0003.json +69 -0
  190. data/schemas/tlc/1.0.10/commands/M0004.json +51 -0
  191. data/schemas/tlc/1.0.10/commands/M0005.json +69 -0
  192. data/schemas/tlc/1.0.10/commands/M0006.json +69 -0
  193. data/schemas/tlc/1.0.10/commands/M0007.json +51 -0
  194. data/schemas/tlc/1.0.10/commands/M0008.json +69 -0
  195. data/schemas/tlc/1.0.10/commands/M0010.json +51 -0
  196. data/schemas/tlc/1.0.10/commands/M0011.json +51 -0
  197. data/schemas/tlc/1.0.10/commands/M0012.json +51 -0
  198. data/schemas/tlc/1.0.10/commands/M0013.json +51 -0
  199. data/schemas/tlc/1.0.10/commands/M0019.json +87 -0
  200. data/schemas/tlc/1.0.10/commands/M0103.json +72 -0
  201. data/schemas/tlc/1.0.10/commands/M0104.json +141 -0
  202. data/schemas/tlc/1.0.10/commands/command_requests.json +8 -0
  203. data/schemas/tlc/1.0.10/commands/command_responses.json +8 -0
  204. data/schemas/tlc/1.0.10/commands/commands.json +255 -0
  205. data/schemas/tlc/1.0.10/defs/definitions.json +67 -0
  206. data/schemas/tlc/1.0.10/defs/guards.json +24 -0
  207. data/schemas/tlc/1.0.10/rsmp.json +74 -0
  208. data/schemas/tlc/1.0.10/statuses/S0001.json +91 -0
  209. data/schemas/tlc/1.0.10/statuses/S0002.json +36 -0
  210. data/schemas/tlc/1.0.10/statuses/S0003.json +54 -0
  211. data/schemas/tlc/1.0.10/statuses/S0004.json +54 -0
  212. data/schemas/tlc/1.0.10/statuses/S0005.json +36 -0
  213. data/schemas/tlc/1.0.10/statuses/S0006.json +54 -0
  214. data/schemas/tlc/1.0.10/statuses/S0007.json +54 -0
  215. data/schemas/tlc/1.0.10/statuses/S0008.json +54 -0
  216. data/schemas/tlc/1.0.10/statuses/S0009.json +54 -0
  217. data/schemas/tlc/1.0.10/statuses/S0010.json +54 -0
  218. data/schemas/tlc/1.0.10/statuses/S0011.json +54 -0
  219. data/schemas/tlc/1.0.10/statuses/S0012.json +54 -0
  220. data/schemas/tlc/1.0.10/statuses/S0013.json +54 -0
  221. data/schemas/tlc/1.0.10/statuses/S0014.json +36 -0
  222. data/schemas/tlc/1.0.10/statuses/S0015.json +36 -0
  223. data/schemas/tlc/1.0.10/statuses/S0016.json +36 -0
  224. data/schemas/tlc/1.0.10/statuses/S0017.json +36 -0
  225. data/schemas/tlc/1.0.10/statuses/S0018.json +36 -0
  226. data/schemas/tlc/1.0.10/statuses/S0019.json +36 -0
  227. data/schemas/tlc/1.0.10/statuses/S0020.json +54 -0
  228. data/schemas/tlc/1.0.10/statuses/S0021.json +37 -0
  229. data/schemas/tlc/1.0.10/statuses/S0091.json +57 -0
  230. data/schemas/tlc/1.0.10/statuses/S0092.json +57 -0
  231. data/schemas/tlc/1.0.10/statuses/S0095.json +36 -0
  232. data/schemas/tlc/1.0.10/statuses/S0096.json +126 -0
  233. data/schemas/tlc/1.0.10/statuses/S0201.json +54 -0
  234. data/schemas/tlc/1.0.10/statuses/S0202.json +54 -0
  235. data/schemas/tlc/1.0.10/statuses/S0203.json +54 -0
  236. data/schemas/tlc/1.0.10/statuses/S0204.json +198 -0
  237. data/schemas/tlc/1.0.10/statuses/statuses.json +483 -0
  238. data/schemas/tlc/1.0.10/sxl.yaml +1010 -0
  239. data/schemas/tlc/1.0.13/alarms/A0001.json +4 -0
  240. data/schemas/tlc/1.0.13/alarms/A0002.json +4 -0
  241. data/schemas/tlc/1.0.13/alarms/A0003.json +4 -0
  242. data/schemas/tlc/1.0.13/alarms/A0004.json +4 -0
  243. data/schemas/tlc/1.0.13/alarms/A0005.json +4 -0
  244. data/schemas/tlc/1.0.13/alarms/A0006.json +4 -0
  245. data/schemas/tlc/1.0.13/alarms/A0007.json +4 -0
  246. data/schemas/tlc/1.0.13/alarms/A0008.json +30 -0
  247. data/schemas/tlc/1.0.13/alarms/A0009.json +4 -0
  248. data/schemas/tlc/1.0.13/alarms/A0101.json +4 -0
  249. data/schemas/tlc/1.0.13/alarms/A0201.json +35 -0
  250. data/schemas/tlc/1.0.13/alarms/A0202.json +35 -0
  251. data/schemas/tlc/1.0.13/alarms/A0301.json +92 -0
  252. data/schemas/tlc/1.0.13/alarms/A0302.json +115 -0
  253. data/schemas/tlc/1.0.13/alarms/alarms.json +239 -0
  254. data/schemas/tlc/1.0.13/commands/M0001.json +92 -0
  255. data/schemas/tlc/1.0.13/commands/M0002.json +69 -0
  256. data/schemas/tlc/1.0.13/commands/M0003.json +69 -0
  257. data/schemas/tlc/1.0.13/commands/M0004.json +51 -0
  258. data/schemas/tlc/1.0.13/commands/M0005.json +69 -0
  259. data/schemas/tlc/1.0.13/commands/M0006.json +69 -0
  260. data/schemas/tlc/1.0.13/commands/M0007.json +51 -0
  261. data/schemas/tlc/1.0.13/commands/M0008.json +69 -0
  262. data/schemas/tlc/1.0.13/commands/M0010.json +51 -0
  263. data/schemas/tlc/1.0.13/commands/M0011.json +51 -0
  264. data/schemas/tlc/1.0.13/commands/M0012.json +51 -0
  265. data/schemas/tlc/1.0.13/commands/M0013.json +51 -0
  266. data/schemas/tlc/1.0.13/commands/M0014.json +69 -0
  267. data/schemas/tlc/1.0.13/commands/M0015.json +69 -0
  268. data/schemas/tlc/1.0.13/commands/M0016.json +51 -0
  269. data/schemas/tlc/1.0.13/commands/M0017.json +51 -0
  270. data/schemas/tlc/1.0.13/commands/M0018.json +69 -0
  271. data/schemas/tlc/1.0.13/commands/M0019.json +87 -0
  272. data/schemas/tlc/1.0.13/commands/M0103.json +72 -0
  273. data/schemas/tlc/1.0.13/commands/M0104.json +141 -0
  274. data/schemas/tlc/1.0.13/commands/command_requests.json +8 -0
  275. data/schemas/tlc/1.0.13/commands/command_responses.json +8 -0
  276. data/schemas/tlc/1.0.13/commands/commands.json +335 -0
  277. data/schemas/tlc/1.0.13/defs/definitions.json +67 -0
  278. data/schemas/tlc/1.0.13/defs/guards.json +24 -0
  279. data/schemas/tlc/1.0.13/rsmp.json +74 -0
  280. data/schemas/tlc/1.0.13/statuses/S0001.json +91 -0
  281. data/schemas/tlc/1.0.13/statuses/S0002.json +36 -0
  282. data/schemas/tlc/1.0.13/statuses/S0003.json +54 -0
  283. data/schemas/tlc/1.0.13/statuses/S0004.json +54 -0
  284. data/schemas/tlc/1.0.13/statuses/S0005.json +36 -0
  285. data/schemas/tlc/1.0.13/statuses/S0006.json +54 -0
  286. data/schemas/tlc/1.0.13/statuses/S0007.json +54 -0
  287. data/schemas/tlc/1.0.13/statuses/S0008.json +54 -0
  288. data/schemas/tlc/1.0.13/statuses/S0009.json +54 -0
  289. data/schemas/tlc/1.0.13/statuses/S0010.json +54 -0
  290. data/schemas/tlc/1.0.13/statuses/S0011.json +54 -0
  291. data/schemas/tlc/1.0.13/statuses/S0012.json +54 -0
  292. data/schemas/tlc/1.0.13/statuses/S0013.json +54 -0
  293. data/schemas/tlc/1.0.13/statuses/S0014.json +36 -0
  294. data/schemas/tlc/1.0.13/statuses/S0015.json +36 -0
  295. data/schemas/tlc/1.0.13/statuses/S0016.json +36 -0
  296. data/schemas/tlc/1.0.13/statuses/S0017.json +36 -0
  297. data/schemas/tlc/1.0.13/statuses/S0018.json +36 -0
  298. data/schemas/tlc/1.0.13/statuses/S0019.json +36 -0
  299. data/schemas/tlc/1.0.13/statuses/S0020.json +54 -0
  300. data/schemas/tlc/1.0.13/statuses/S0021.json +37 -0
  301. data/schemas/tlc/1.0.13/statuses/S0022.json +36 -0
  302. data/schemas/tlc/1.0.13/statuses/S0023.json +37 -0
  303. data/schemas/tlc/1.0.13/statuses/S0024.json +37 -0
  304. data/schemas/tlc/1.0.13/statuses/S0025.json +162 -0
  305. data/schemas/tlc/1.0.13/statuses/S0026.json +36 -0
  306. data/schemas/tlc/1.0.13/statuses/S0027.json +36 -0
  307. data/schemas/tlc/1.0.13/statuses/S0028.json +36 -0
  308. data/schemas/tlc/1.0.13/statuses/S0029.json +36 -0
  309. data/schemas/tlc/1.0.13/statuses/S0091.json +57 -0
  310. data/schemas/tlc/1.0.13/statuses/S0092.json +57 -0
  311. data/schemas/tlc/1.0.13/statuses/S0095.json +36 -0
  312. data/schemas/tlc/1.0.13/statuses/S0096.json +126 -0
  313. data/schemas/tlc/1.0.13/statuses/S0201.json +54 -0
  314. data/schemas/tlc/1.0.13/statuses/S0202.json +54 -0
  315. data/schemas/tlc/1.0.13/statuses/S0203.json +54 -0
  316. data/schemas/tlc/1.0.13/statuses/S0204.json +198 -0
  317. data/schemas/tlc/1.0.13/statuses/statuses.json +611 -0
  318. data/schemas/tlc/1.0.13/sxl.yaml +1312 -0
  319. data/schemas/tlc/1.0.14/alarms/A0001.json +4 -0
  320. data/schemas/tlc/1.0.14/alarms/A0002.json +4 -0
  321. data/schemas/tlc/1.0.14/alarms/A0003.json +4 -0
  322. data/schemas/tlc/1.0.14/alarms/A0004.json +4 -0
  323. data/schemas/tlc/1.0.14/alarms/A0005.json +4 -0
  324. data/schemas/tlc/1.0.14/alarms/A0006.json +4 -0
  325. data/schemas/tlc/1.0.14/alarms/A0007.json +4 -0
  326. data/schemas/tlc/1.0.14/alarms/A0008.json +30 -0
  327. data/schemas/tlc/1.0.14/alarms/A0009.json +4 -0
  328. data/schemas/tlc/1.0.14/alarms/A0101.json +4 -0
  329. data/schemas/tlc/1.0.14/alarms/A0201.json +35 -0
  330. data/schemas/tlc/1.0.14/alarms/A0202.json +35 -0
  331. data/schemas/tlc/1.0.14/alarms/A0301.json +92 -0
  332. data/schemas/tlc/1.0.14/alarms/A0302.json +115 -0
  333. data/schemas/tlc/1.0.14/alarms/alarms.json +239 -0
  334. data/schemas/tlc/1.0.14/commands/M0001.json +92 -0
  335. data/schemas/tlc/1.0.14/commands/M0002.json +69 -0
  336. data/schemas/tlc/1.0.14/commands/M0003.json +69 -0
  337. data/schemas/tlc/1.0.14/commands/M0004.json +51 -0
  338. data/schemas/tlc/1.0.14/commands/M0005.json +69 -0
  339. data/schemas/tlc/1.0.14/commands/M0006.json +69 -0
  340. data/schemas/tlc/1.0.14/commands/M0007.json +51 -0
  341. data/schemas/tlc/1.0.14/commands/M0008.json +69 -0
  342. data/schemas/tlc/1.0.14/commands/M0010.json +51 -0
  343. data/schemas/tlc/1.0.14/commands/M0011.json +51 -0
  344. data/schemas/tlc/1.0.14/commands/M0012.json +51 -0
  345. data/schemas/tlc/1.0.14/commands/M0013.json +51 -0
  346. data/schemas/tlc/1.0.14/commands/M0014.json +69 -0
  347. data/schemas/tlc/1.0.14/commands/M0015.json +69 -0
  348. data/schemas/tlc/1.0.14/commands/M0016.json +51 -0
  349. data/schemas/tlc/1.0.14/commands/M0017.json +51 -0
  350. data/schemas/tlc/1.0.14/commands/M0018.json +69 -0
  351. data/schemas/tlc/1.0.14/commands/M0019.json +87 -0
  352. data/schemas/tlc/1.0.14/commands/M0103.json +72 -0
  353. data/schemas/tlc/1.0.14/commands/M0104.json +141 -0
  354. data/schemas/tlc/1.0.14/commands/command_requests.json +8 -0
  355. data/schemas/tlc/1.0.14/commands/command_responses.json +8 -0
  356. data/schemas/tlc/1.0.14/commands/commands.json +335 -0
  357. data/schemas/tlc/1.0.14/defs/definitions.json +67 -0
  358. data/schemas/tlc/1.0.14/defs/guards.json +24 -0
  359. data/schemas/tlc/1.0.14/rsmp.json +74 -0
  360. data/schemas/tlc/1.0.14/statuses/S0001.json +91 -0
  361. data/schemas/tlc/1.0.14/statuses/S0002.json +36 -0
  362. data/schemas/tlc/1.0.14/statuses/S0003.json +54 -0
  363. data/schemas/tlc/1.0.14/statuses/S0004.json +54 -0
  364. data/schemas/tlc/1.0.14/statuses/S0005.json +36 -0
  365. data/schemas/tlc/1.0.14/statuses/S0006.json +54 -0
  366. data/schemas/tlc/1.0.14/statuses/S0007.json +54 -0
  367. data/schemas/tlc/1.0.14/statuses/S0008.json +54 -0
  368. data/schemas/tlc/1.0.14/statuses/S0009.json +54 -0
  369. data/schemas/tlc/1.0.14/statuses/S0010.json +54 -0
  370. data/schemas/tlc/1.0.14/statuses/S0011.json +54 -0
  371. data/schemas/tlc/1.0.14/statuses/S0012.json +54 -0
  372. data/schemas/tlc/1.0.14/statuses/S0013.json +54 -0
  373. data/schemas/tlc/1.0.14/statuses/S0014.json +36 -0
  374. data/schemas/tlc/1.0.14/statuses/S0015.json +36 -0
  375. data/schemas/tlc/1.0.14/statuses/S0016.json +36 -0
  376. data/schemas/tlc/1.0.14/statuses/S0017.json +36 -0
  377. data/schemas/tlc/1.0.14/statuses/S0018.json +36 -0
  378. data/schemas/tlc/1.0.14/statuses/S0019.json +36 -0
  379. data/schemas/tlc/1.0.14/statuses/S0020.json +54 -0
  380. data/schemas/tlc/1.0.14/statuses/S0021.json +37 -0
  381. data/schemas/tlc/1.0.14/statuses/S0022.json +36 -0
  382. data/schemas/tlc/1.0.14/statuses/S0023.json +37 -0
  383. data/schemas/tlc/1.0.14/statuses/S0024.json +37 -0
  384. data/schemas/tlc/1.0.14/statuses/S0025.json +162 -0
  385. data/schemas/tlc/1.0.14/statuses/S0026.json +36 -0
  386. data/schemas/tlc/1.0.14/statuses/S0027.json +36 -0
  387. data/schemas/tlc/1.0.14/statuses/S0028.json +36 -0
  388. data/schemas/tlc/1.0.14/statuses/S0029.json +36 -0
  389. data/schemas/tlc/1.0.14/statuses/S0091.json +57 -0
  390. data/schemas/tlc/1.0.14/statuses/S0092.json +57 -0
  391. data/schemas/tlc/1.0.14/statuses/S0095.json +36 -0
  392. data/schemas/tlc/1.0.14/statuses/S0096.json +126 -0
  393. data/schemas/tlc/1.0.14/statuses/S0201.json +54 -0
  394. data/schemas/tlc/1.0.14/statuses/S0202.json +54 -0
  395. data/schemas/tlc/1.0.14/statuses/S0203.json +54 -0
  396. data/schemas/tlc/1.0.14/statuses/S0204.json +198 -0
  397. data/schemas/tlc/1.0.14/statuses/S0205.json +54 -0
  398. data/schemas/tlc/1.0.14/statuses/S0206.json +54 -0
  399. data/schemas/tlc/1.0.14/statuses/S0207.json +54 -0
  400. data/schemas/tlc/1.0.14/statuses/S0208.json +198 -0
  401. data/schemas/tlc/1.0.14/statuses/statuses.json +675 -0
  402. data/schemas/tlc/1.0.14/sxl.yaml +1450 -0
  403. data/schemas/tlc/1.0.15/alarms/A0001.json +4 -0
  404. data/schemas/tlc/1.0.15/alarms/A0002.json +4 -0
  405. data/schemas/tlc/1.0.15/alarms/A0003.json +4 -0
  406. data/schemas/tlc/1.0.15/alarms/A0004.json +4 -0
  407. data/schemas/tlc/1.0.15/alarms/A0005.json +4 -0
  408. data/schemas/tlc/1.0.15/alarms/A0006.json +4 -0
  409. data/schemas/tlc/1.0.15/alarms/A0007.json +4 -0
  410. data/schemas/tlc/1.0.15/alarms/A0008.json +30 -0
  411. data/schemas/tlc/1.0.15/alarms/A0009.json +4 -0
  412. data/schemas/tlc/1.0.15/alarms/A0010.json +4 -0
  413. data/schemas/tlc/1.0.15/alarms/A0101.json +4 -0
  414. data/schemas/tlc/1.0.15/alarms/A0201.json +35 -0
  415. data/schemas/tlc/1.0.15/alarms/A0202.json +35 -0
  416. data/schemas/tlc/1.0.15/alarms/A0301.json +92 -0
  417. data/schemas/tlc/1.0.15/alarms/A0302.json +115 -0
  418. data/schemas/tlc/1.0.15/alarms/alarms.json +255 -0
  419. data/schemas/tlc/1.0.15/commands/M0001.json +92 -0
  420. data/schemas/tlc/1.0.15/commands/M0002.json +69 -0
  421. data/schemas/tlc/1.0.15/commands/M0003.json +69 -0
  422. data/schemas/tlc/1.0.15/commands/M0004.json +51 -0
  423. data/schemas/tlc/1.0.15/commands/M0005.json +69 -0
  424. data/schemas/tlc/1.0.15/commands/M0006.json +69 -0
  425. data/schemas/tlc/1.0.15/commands/M0007.json +51 -0
  426. data/schemas/tlc/1.0.15/commands/M0008.json +69 -0
  427. data/schemas/tlc/1.0.15/commands/M0010.json +51 -0
  428. data/schemas/tlc/1.0.15/commands/M0011.json +51 -0
  429. data/schemas/tlc/1.0.15/commands/M0012.json +51 -0
  430. data/schemas/tlc/1.0.15/commands/M0013.json +51 -0
  431. data/schemas/tlc/1.0.15/commands/M0014.json +69 -0
  432. data/schemas/tlc/1.0.15/commands/M0015.json +69 -0
  433. data/schemas/tlc/1.0.15/commands/M0016.json +51 -0
  434. data/schemas/tlc/1.0.15/commands/M0017.json +51 -0
  435. data/schemas/tlc/1.0.15/commands/M0018.json +69 -0
  436. data/schemas/tlc/1.0.15/commands/M0019.json +87 -0
  437. data/schemas/tlc/1.0.15/commands/M0020.json +87 -0
  438. data/schemas/tlc/1.0.15/commands/M0021.json +51 -0
  439. data/schemas/tlc/1.0.15/commands/M0103.json +72 -0
  440. data/schemas/tlc/1.0.15/commands/M0104.json +141 -0
  441. data/schemas/tlc/1.0.15/commands/command_requests.json +8 -0
  442. data/schemas/tlc/1.0.15/commands/command_responses.json +8 -0
  443. data/schemas/tlc/1.0.15/commands/commands.json +367 -0
  444. data/schemas/tlc/1.0.15/defs/definitions.json +67 -0
  445. data/schemas/tlc/1.0.15/defs/guards.json +24 -0
  446. data/schemas/tlc/1.0.15/rsmp.json +74 -0
  447. data/schemas/tlc/1.0.15/statuses/S0001.json +91 -0
  448. data/schemas/tlc/1.0.15/statuses/S0002.json +36 -0
  449. data/schemas/tlc/1.0.15/statuses/S0003.json +54 -0
  450. data/schemas/tlc/1.0.15/statuses/S0004.json +54 -0
  451. data/schemas/tlc/1.0.15/statuses/S0005.json +36 -0
  452. data/schemas/tlc/1.0.15/statuses/S0006.json +54 -0
  453. data/schemas/tlc/1.0.15/statuses/S0007.json +54 -0
  454. data/schemas/tlc/1.0.15/statuses/S0008.json +54 -0
  455. data/schemas/tlc/1.0.15/statuses/S0009.json +54 -0
  456. data/schemas/tlc/1.0.15/statuses/S0010.json +54 -0
  457. data/schemas/tlc/1.0.15/statuses/S0011.json +54 -0
  458. data/schemas/tlc/1.0.15/statuses/S0012.json +54 -0
  459. data/schemas/tlc/1.0.15/statuses/S0013.json +54 -0
  460. data/schemas/tlc/1.0.15/statuses/S0014.json +36 -0
  461. data/schemas/tlc/1.0.15/statuses/S0015.json +36 -0
  462. data/schemas/tlc/1.0.15/statuses/S0016.json +36 -0
  463. data/schemas/tlc/1.0.15/statuses/S0017.json +36 -0
  464. data/schemas/tlc/1.0.15/statuses/S0018.json +36 -0
  465. data/schemas/tlc/1.0.15/statuses/S0019.json +36 -0
  466. data/schemas/tlc/1.0.15/statuses/S0020.json +54 -0
  467. data/schemas/tlc/1.0.15/statuses/S0021.json +37 -0
  468. data/schemas/tlc/1.0.15/statuses/S0022.json +36 -0
  469. data/schemas/tlc/1.0.15/statuses/S0023.json +37 -0
  470. data/schemas/tlc/1.0.15/statuses/S0024.json +37 -0
  471. data/schemas/tlc/1.0.15/statuses/S0025.json +162 -0
  472. data/schemas/tlc/1.0.15/statuses/S0026.json +36 -0
  473. data/schemas/tlc/1.0.15/statuses/S0027.json +36 -0
  474. data/schemas/tlc/1.0.15/statuses/S0028.json +36 -0
  475. data/schemas/tlc/1.0.15/statuses/S0029.json +36 -0
  476. data/schemas/tlc/1.0.15/statuses/S0030.json +36 -0
  477. data/schemas/tlc/1.0.15/statuses/S0031.json +36 -0
  478. data/schemas/tlc/1.0.15/statuses/S0091.json +57 -0
  479. data/schemas/tlc/1.0.15/statuses/S0092.json +57 -0
  480. data/schemas/tlc/1.0.15/statuses/S0095.json +36 -0
  481. data/schemas/tlc/1.0.15/statuses/S0096.json +126 -0
  482. data/schemas/tlc/1.0.15/statuses/S0097.json +54 -0
  483. data/schemas/tlc/1.0.15/statuses/S0098.json +72 -0
  484. data/schemas/tlc/1.0.15/statuses/S0201.json +54 -0
  485. data/schemas/tlc/1.0.15/statuses/S0202.json +54 -0
  486. data/schemas/tlc/1.0.15/statuses/S0203.json +54 -0
  487. data/schemas/tlc/1.0.15/statuses/S0204.json +198 -0
  488. data/schemas/tlc/1.0.15/statuses/S0205.json +54 -0
  489. data/schemas/tlc/1.0.15/statuses/S0206.json +54 -0
  490. data/schemas/tlc/1.0.15/statuses/S0207.json +54 -0
  491. data/schemas/tlc/1.0.15/statuses/S0208.json +198 -0
  492. data/schemas/tlc/1.0.15/statuses/statuses.json +739 -0
  493. data/schemas/tlc/1.0.15/sxl.yaml +1589 -0
  494. data/schemas/tlc/1.0.7/alarms/A0001.json +4 -0
  495. data/schemas/tlc/1.0.7/alarms/A0002.json +4 -0
  496. data/schemas/tlc/1.0.7/alarms/A0003.json +4 -0
  497. data/schemas/tlc/1.0.7/alarms/A0004.json +4 -0
  498. data/schemas/tlc/1.0.7/alarms/A0005.json +4 -0
  499. data/schemas/tlc/1.0.7/alarms/A0006.json +4 -0
  500. data/schemas/tlc/1.0.7/alarms/A0007.json +4 -0
  501. data/schemas/tlc/1.0.7/alarms/A0008.json +30 -0
  502. data/schemas/tlc/1.0.7/alarms/A0009.json +4 -0
  503. data/schemas/tlc/1.0.7/alarms/A0101.json +4 -0
  504. data/schemas/tlc/1.0.7/alarms/A0201.json +35 -0
  505. data/schemas/tlc/1.0.7/alarms/A0202.json +35 -0
  506. data/schemas/tlc/1.0.7/alarms/A0301.json +92 -0
  507. data/schemas/tlc/1.0.7/alarms/A0302.json +115 -0
  508. data/schemas/tlc/1.0.7/alarms/alarms.json +239 -0
  509. data/schemas/tlc/1.0.7/commands/M0001.json +92 -0
  510. data/schemas/tlc/1.0.7/commands/M0002.json +69 -0
  511. data/schemas/tlc/1.0.7/commands/M0003.json +69 -0
  512. data/schemas/tlc/1.0.7/commands/M0004.json +51 -0
  513. data/schemas/tlc/1.0.7/commands/M0005.json +69 -0
  514. data/schemas/tlc/1.0.7/commands/M0006.json +69 -0
  515. data/schemas/tlc/1.0.7/commands/M0007.json +51 -0
  516. data/schemas/tlc/1.0.7/commands/M0008.json +69 -0
  517. data/schemas/tlc/1.0.7/commands/M0010.json +51 -0
  518. data/schemas/tlc/1.0.7/commands/M0011.json +51 -0
  519. data/schemas/tlc/1.0.7/commands/M0019.json +87 -0
  520. data/schemas/tlc/1.0.7/commands/M0103.json +72 -0
  521. data/schemas/tlc/1.0.7/commands/M0104.json +141 -0
  522. data/schemas/tlc/1.0.7/commands/command_requests.json +8 -0
  523. data/schemas/tlc/1.0.7/commands/command_responses.json +8 -0
  524. data/schemas/tlc/1.0.7/commands/commands.json +223 -0
  525. data/schemas/tlc/1.0.7/defs/definitions.json +67 -0
  526. data/schemas/tlc/1.0.7/defs/guards.json +24 -0
  527. data/schemas/tlc/1.0.7/rsmp.json +74 -0
  528. data/schemas/tlc/1.0.7/statuses/S0001.json +91 -0
  529. data/schemas/tlc/1.0.7/statuses/S0002.json +36 -0
  530. data/schemas/tlc/1.0.7/statuses/S0003.json +54 -0
  531. data/schemas/tlc/1.0.7/statuses/S0004.json +54 -0
  532. data/schemas/tlc/1.0.7/statuses/S0005.json +36 -0
  533. data/schemas/tlc/1.0.7/statuses/S0006.json +54 -0
  534. data/schemas/tlc/1.0.7/statuses/S0007.json +54 -0
  535. data/schemas/tlc/1.0.7/statuses/S0008.json +54 -0
  536. data/schemas/tlc/1.0.7/statuses/S0009.json +54 -0
  537. data/schemas/tlc/1.0.7/statuses/S0010.json +54 -0
  538. data/schemas/tlc/1.0.7/statuses/S0011.json +54 -0
  539. data/schemas/tlc/1.0.7/statuses/S0012.json +54 -0
  540. data/schemas/tlc/1.0.7/statuses/S0013.json +54 -0
  541. data/schemas/tlc/1.0.7/statuses/S0014.json +36 -0
  542. data/schemas/tlc/1.0.7/statuses/S0015.json +36 -0
  543. data/schemas/tlc/1.0.7/statuses/S0016.json +36 -0
  544. data/schemas/tlc/1.0.7/statuses/S0017.json +36 -0
  545. data/schemas/tlc/1.0.7/statuses/S0018.json +36 -0
  546. data/schemas/tlc/1.0.7/statuses/S0019.json +36 -0
  547. data/schemas/tlc/1.0.7/statuses/S0020.json +54 -0
  548. data/schemas/tlc/1.0.7/statuses/S0021.json +37 -0
  549. data/schemas/tlc/1.0.7/statuses/S0025.json +162 -0
  550. data/schemas/tlc/1.0.7/statuses/S0091.json +57 -0
  551. data/schemas/tlc/1.0.7/statuses/S0092.json +57 -0
  552. data/schemas/tlc/1.0.7/statuses/S0095.json +36 -0
  553. data/schemas/tlc/1.0.7/statuses/S0096.json +126 -0
  554. data/schemas/tlc/1.0.7/statuses/S0201.json +54 -0
  555. data/schemas/tlc/1.0.7/statuses/S0202.json +54 -0
  556. data/schemas/tlc/1.0.7/statuses/S0203.json +54 -0
  557. data/schemas/tlc/1.0.7/statuses/S0204.json +198 -0
  558. data/schemas/tlc/1.0.7/statuses/statuses.json +499 -0
  559. data/schemas/tlc/1.0.7/sxl.yaml +981 -0
  560. data/schemas/tlc/1.0.8/alarms/A0001.json +4 -0
  561. data/schemas/tlc/1.0.8/alarms/A0002.json +4 -0
  562. data/schemas/tlc/1.0.8/alarms/A0003.json +4 -0
  563. data/schemas/tlc/1.0.8/alarms/A0004.json +4 -0
  564. data/schemas/tlc/1.0.8/alarms/A0005.json +4 -0
  565. data/schemas/tlc/1.0.8/alarms/A0006.json +4 -0
  566. data/schemas/tlc/1.0.8/alarms/A0007.json +4 -0
  567. data/schemas/tlc/1.0.8/alarms/A0008.json +30 -0
  568. data/schemas/tlc/1.0.8/alarms/A0009.json +4 -0
  569. data/schemas/tlc/1.0.8/alarms/A0101.json +4 -0
  570. data/schemas/tlc/1.0.8/alarms/A0201.json +35 -0
  571. data/schemas/tlc/1.0.8/alarms/A0202.json +35 -0
  572. data/schemas/tlc/1.0.8/alarms/A0301.json +92 -0
  573. data/schemas/tlc/1.0.8/alarms/A0302.json +115 -0
  574. data/schemas/tlc/1.0.8/alarms/alarms.json +239 -0
  575. data/schemas/tlc/1.0.8/commands/M0001.json +92 -0
  576. data/schemas/tlc/1.0.8/commands/M0002.json +69 -0
  577. data/schemas/tlc/1.0.8/commands/M0003.json +69 -0
  578. data/schemas/tlc/1.0.8/commands/M0004.json +51 -0
  579. data/schemas/tlc/1.0.8/commands/M0005.json +69 -0
  580. data/schemas/tlc/1.0.8/commands/M0006.json +69 -0
  581. data/schemas/tlc/1.0.8/commands/M0007.json +51 -0
  582. data/schemas/tlc/1.0.8/commands/M0008.json +69 -0
  583. data/schemas/tlc/1.0.8/commands/M0010.json +51 -0
  584. data/schemas/tlc/1.0.8/commands/M0011.json +51 -0
  585. data/schemas/tlc/1.0.8/commands/M0012.json +51 -0
  586. data/schemas/tlc/1.0.8/commands/M0013.json +51 -0
  587. data/schemas/tlc/1.0.8/commands/M0019.json +87 -0
  588. data/schemas/tlc/1.0.8/commands/M0103.json +72 -0
  589. data/schemas/tlc/1.0.8/commands/M0104.json +141 -0
  590. data/schemas/tlc/1.0.8/commands/command_requests.json +8 -0
  591. data/schemas/tlc/1.0.8/commands/command_responses.json +8 -0
  592. data/schemas/tlc/1.0.8/commands/commands.json +255 -0
  593. data/schemas/tlc/1.0.8/defs/definitions.json +67 -0
  594. data/schemas/tlc/1.0.8/defs/guards.json +24 -0
  595. data/schemas/tlc/1.0.8/rsmp.json +74 -0
  596. data/schemas/tlc/1.0.8/statuses/S0001.json +91 -0
  597. data/schemas/tlc/1.0.8/statuses/S0002.json +36 -0
  598. data/schemas/tlc/1.0.8/statuses/S0003.json +54 -0
  599. data/schemas/tlc/1.0.8/statuses/S0004.json +54 -0
  600. data/schemas/tlc/1.0.8/statuses/S0005.json +36 -0
  601. data/schemas/tlc/1.0.8/statuses/S0006.json +54 -0
  602. data/schemas/tlc/1.0.8/statuses/S0007.json +54 -0
  603. data/schemas/tlc/1.0.8/statuses/S0008.json +54 -0
  604. data/schemas/tlc/1.0.8/statuses/S0009.json +54 -0
  605. data/schemas/tlc/1.0.8/statuses/S0010.json +54 -0
  606. data/schemas/tlc/1.0.8/statuses/S0011.json +54 -0
  607. data/schemas/tlc/1.0.8/statuses/S0012.json +54 -0
  608. data/schemas/tlc/1.0.8/statuses/S0013.json +54 -0
  609. data/schemas/tlc/1.0.8/statuses/S0014.json +36 -0
  610. data/schemas/tlc/1.0.8/statuses/S0015.json +36 -0
  611. data/schemas/tlc/1.0.8/statuses/S0016.json +36 -0
  612. data/schemas/tlc/1.0.8/statuses/S0017.json +36 -0
  613. data/schemas/tlc/1.0.8/statuses/S0018.json +36 -0
  614. data/schemas/tlc/1.0.8/statuses/S0019.json +36 -0
  615. data/schemas/tlc/1.0.8/statuses/S0020.json +54 -0
  616. data/schemas/tlc/1.0.8/statuses/S0021.json +37 -0
  617. data/schemas/tlc/1.0.8/statuses/S0025.json +181 -0
  618. data/schemas/tlc/1.0.8/statuses/S0091.json +57 -0
  619. data/schemas/tlc/1.0.8/statuses/S0092.json +57 -0
  620. data/schemas/tlc/1.0.8/statuses/S0095.json +36 -0
  621. data/schemas/tlc/1.0.8/statuses/S0096.json +126 -0
  622. data/schemas/tlc/1.0.8/statuses/S0201.json +54 -0
  623. data/schemas/tlc/1.0.8/statuses/S0202.json +54 -0
  624. data/schemas/tlc/1.0.8/statuses/S0203.json +54 -0
  625. data/schemas/tlc/1.0.8/statuses/S0204.json +198 -0
  626. data/schemas/tlc/1.0.8/statuses/statuses.json +483 -0
  627. data/schemas/tlc/1.0.8/sxl.yaml +1010 -0
  628. data/schemas/tlc/1.0.9/alarms/A0001.json +4 -0
  629. data/schemas/tlc/1.0.9/alarms/A0002.json +4 -0
  630. data/schemas/tlc/1.0.9/alarms/A0003.json +4 -0
  631. data/schemas/tlc/1.0.9/alarms/A0004.json +4 -0
  632. data/schemas/tlc/1.0.9/alarms/A0005.json +4 -0
  633. data/schemas/tlc/1.0.9/alarms/A0006.json +4 -0
  634. data/schemas/tlc/1.0.9/alarms/A0007.json +4 -0
  635. data/schemas/tlc/1.0.9/alarms/A0008.json +30 -0
  636. data/schemas/tlc/1.0.9/alarms/A0009.json +4 -0
  637. data/schemas/tlc/1.0.9/alarms/A0101.json +4 -0
  638. data/schemas/tlc/1.0.9/alarms/A0201.json +35 -0
  639. data/schemas/tlc/1.0.9/alarms/A0202.json +35 -0
  640. data/schemas/tlc/1.0.9/alarms/A0301.json +92 -0
  641. data/schemas/tlc/1.0.9/alarms/A0302.json +115 -0
  642. data/schemas/tlc/1.0.9/alarms/alarms.json +239 -0
  643. data/schemas/tlc/1.0.9/commands/M0001.json +92 -0
  644. data/schemas/tlc/1.0.9/commands/M0002.json +69 -0
  645. data/schemas/tlc/1.0.9/commands/M0003.json +69 -0
  646. data/schemas/tlc/1.0.9/commands/M0004.json +51 -0
  647. data/schemas/tlc/1.0.9/commands/M0005.json +69 -0
  648. data/schemas/tlc/1.0.9/commands/M0006.json +69 -0
  649. data/schemas/tlc/1.0.9/commands/M0007.json +51 -0
  650. data/schemas/tlc/1.0.9/commands/M0008.json +69 -0
  651. data/schemas/tlc/1.0.9/commands/M0010.json +51 -0
  652. data/schemas/tlc/1.0.9/commands/M0011.json +51 -0
  653. data/schemas/tlc/1.0.9/commands/M0012.json +51 -0
  654. data/schemas/tlc/1.0.9/commands/M0013.json +51 -0
  655. data/schemas/tlc/1.0.9/commands/M0019.json +87 -0
  656. data/schemas/tlc/1.0.9/commands/M0103.json +72 -0
  657. data/schemas/tlc/1.0.9/commands/M0104.json +141 -0
  658. data/schemas/tlc/1.0.9/commands/command_requests.json +8 -0
  659. data/schemas/tlc/1.0.9/commands/command_responses.json +8 -0
  660. data/schemas/tlc/1.0.9/commands/commands.json +255 -0
  661. data/schemas/tlc/1.0.9/defs/definitions.json +67 -0
  662. data/schemas/tlc/1.0.9/defs/guards.json +24 -0
  663. data/schemas/tlc/1.0.9/rsmp.json +74 -0
  664. data/schemas/tlc/1.0.9/statuses/S0001.json +91 -0
  665. data/schemas/tlc/1.0.9/statuses/S0002.json +36 -0
  666. data/schemas/tlc/1.0.9/statuses/S0003.json +54 -0
  667. data/schemas/tlc/1.0.9/statuses/S0004.json +54 -0
  668. data/schemas/tlc/1.0.9/statuses/S0005.json +36 -0
  669. data/schemas/tlc/1.0.9/statuses/S0006.json +54 -0
  670. data/schemas/tlc/1.0.9/statuses/S0007.json +54 -0
  671. data/schemas/tlc/1.0.9/statuses/S0008.json +54 -0
  672. data/schemas/tlc/1.0.9/statuses/S0009.json +54 -0
  673. data/schemas/tlc/1.0.9/statuses/S0010.json +54 -0
  674. data/schemas/tlc/1.0.9/statuses/S0011.json +54 -0
  675. data/schemas/tlc/1.0.9/statuses/S0012.json +54 -0
  676. data/schemas/tlc/1.0.9/statuses/S0013.json +54 -0
  677. data/schemas/tlc/1.0.9/statuses/S0014.json +36 -0
  678. data/schemas/tlc/1.0.9/statuses/S0015.json +36 -0
  679. data/schemas/tlc/1.0.9/statuses/S0016.json +36 -0
  680. data/schemas/tlc/1.0.9/statuses/S0017.json +36 -0
  681. data/schemas/tlc/1.0.9/statuses/S0018.json +36 -0
  682. data/schemas/tlc/1.0.9/statuses/S0019.json +36 -0
  683. data/schemas/tlc/1.0.9/statuses/S0020.json +54 -0
  684. data/schemas/tlc/1.0.9/statuses/S0021.json +37 -0
  685. data/schemas/tlc/1.0.9/statuses/S0025.json +181 -0
  686. data/schemas/tlc/1.0.9/statuses/S0091.json +57 -0
  687. data/schemas/tlc/1.0.9/statuses/S0092.json +57 -0
  688. data/schemas/tlc/1.0.9/statuses/S0095.json +36 -0
  689. data/schemas/tlc/1.0.9/statuses/S0096.json +126 -0
  690. data/schemas/tlc/1.0.9/statuses/S0201.json +54 -0
  691. data/schemas/tlc/1.0.9/statuses/S0202.json +54 -0
  692. data/schemas/tlc/1.0.9/statuses/S0203.json +54 -0
  693. data/schemas/tlc/1.0.9/statuses/S0204.json +198 -0
  694. data/schemas/tlc/1.0.9/statuses/statuses.json +483 -0
  695. data/schemas/tlc/1.0.9/sxl.yaml +1010 -0
  696. data/schemas/tlc/1.1.0/alarms/A0001.json +4 -0
  697. data/schemas/tlc/1.1.0/alarms/A0002.json +4 -0
  698. data/schemas/tlc/1.1.0/alarms/A0003.json +4 -0
  699. data/schemas/tlc/1.1.0/alarms/A0004.json +4 -0
  700. data/schemas/tlc/1.1.0/alarms/A0005.json +4 -0
  701. data/schemas/tlc/1.1.0/alarms/A0006.json +4 -0
  702. data/schemas/tlc/1.1.0/alarms/A0007.json +34 -0
  703. data/schemas/tlc/1.1.0/alarms/A0008.json +30 -0
  704. data/schemas/tlc/1.1.0/alarms/A0009.json +4 -0
  705. data/schemas/tlc/1.1.0/alarms/A0010.json +4 -0
  706. data/schemas/tlc/1.1.0/alarms/A0101.json +4 -0
  707. data/schemas/tlc/1.1.0/alarms/A0201.json +35 -0
  708. data/schemas/tlc/1.1.0/alarms/A0202.json +35 -0
  709. data/schemas/tlc/1.1.0/alarms/A0301.json +92 -0
  710. data/schemas/tlc/1.1.0/alarms/A0302.json +115 -0
  711. data/schemas/tlc/1.1.0/alarms/A0303.json +92 -0
  712. data/schemas/tlc/1.1.0/alarms/A0304.json +115 -0
  713. data/schemas/tlc/1.1.0/alarms/alarms.json +287 -0
  714. data/schemas/tlc/1.1.0/commands/M0001.json +92 -0
  715. data/schemas/tlc/1.1.0/commands/M0002.json +69 -0
  716. data/schemas/tlc/1.1.0/commands/M0003.json +69 -0
  717. data/schemas/tlc/1.1.0/commands/M0004.json +51 -0
  718. data/schemas/tlc/1.1.0/commands/M0005.json +69 -0
  719. data/schemas/tlc/1.1.0/commands/M0006.json +69 -0
  720. data/schemas/tlc/1.1.0/commands/M0007.json +51 -0
  721. data/schemas/tlc/1.1.0/commands/M0008.json +69 -0
  722. data/schemas/tlc/1.1.0/commands/M0010.json +51 -0
  723. data/schemas/tlc/1.1.0/commands/M0011.json +51 -0
  724. data/schemas/tlc/1.1.0/commands/M0012.json +51 -0
  725. data/schemas/tlc/1.1.0/commands/M0013.json +51 -0
  726. data/schemas/tlc/1.1.0/commands/M0014.json +69 -0
  727. data/schemas/tlc/1.1.0/commands/M0015.json +69 -0
  728. data/schemas/tlc/1.1.0/commands/M0016.json +51 -0
  729. data/schemas/tlc/1.1.0/commands/M0017.json +51 -0
  730. data/schemas/tlc/1.1.0/commands/M0018.json +69 -0
  731. data/schemas/tlc/1.1.0/commands/M0019.json +87 -0
  732. data/schemas/tlc/1.1.0/commands/M0020.json +87 -0
  733. data/schemas/tlc/1.1.0/commands/M0021.json +51 -0
  734. data/schemas/tlc/1.1.0/commands/M0022.json +249 -0
  735. data/schemas/tlc/1.1.0/commands/M0023.json +51 -0
  736. data/schemas/tlc/1.1.0/commands/M0103.json +72 -0
  737. data/schemas/tlc/1.1.0/commands/M0104.json +141 -0
  738. data/schemas/tlc/1.1.0/commands/command_requests.json +8 -0
  739. data/schemas/tlc/1.1.0/commands/command_responses.json +8 -0
  740. data/schemas/tlc/1.1.0/commands/commands.json +399 -0
  741. data/schemas/tlc/1.1.0/defs/definitions.json +67 -0
  742. data/schemas/tlc/1.1.0/defs/guards.json +24 -0
  743. data/schemas/tlc/1.1.0/rsmp.json +74 -0
  744. data/schemas/tlc/1.1.0/statuses/S0001.json +91 -0
  745. data/schemas/tlc/1.1.0/statuses/S0002.json +36 -0
  746. data/schemas/tlc/1.1.0/statuses/S0003.json +54 -0
  747. data/schemas/tlc/1.1.0/statuses/S0004.json +54 -0
  748. data/schemas/tlc/1.1.0/statuses/S0005.json +36 -0
  749. data/schemas/tlc/1.1.0/statuses/S0006.json +54 -0
  750. data/schemas/tlc/1.1.0/statuses/S0007.json +73 -0
  751. data/schemas/tlc/1.1.0/statuses/S0008.json +73 -0
  752. data/schemas/tlc/1.1.0/statuses/S0009.json +73 -0
  753. data/schemas/tlc/1.1.0/statuses/S0010.json +73 -0
  754. data/schemas/tlc/1.1.0/statuses/S0011.json +73 -0
  755. data/schemas/tlc/1.1.0/statuses/S0012.json +73 -0
  756. data/schemas/tlc/1.1.0/statuses/S0013.json +54 -0
  757. data/schemas/tlc/1.1.0/statuses/S0014.json +62 -0
  758. data/schemas/tlc/1.1.0/statuses/S0015.json +62 -0
  759. data/schemas/tlc/1.1.0/statuses/S0016.json +36 -0
  760. data/schemas/tlc/1.1.0/statuses/S0017.json +36 -0
  761. data/schemas/tlc/1.1.0/statuses/S0018.json +36 -0
  762. data/schemas/tlc/1.1.0/statuses/S0019.json +36 -0
  763. data/schemas/tlc/1.1.0/statuses/S0020.json +54 -0
  764. data/schemas/tlc/1.1.0/statuses/S0021.json +37 -0
  765. data/schemas/tlc/1.1.0/statuses/S0022.json +36 -0
  766. data/schemas/tlc/1.1.0/statuses/S0023.json +37 -0
  767. data/schemas/tlc/1.1.0/statuses/S0024.json +37 -0
  768. data/schemas/tlc/1.1.0/statuses/S0025.json +162 -0
  769. data/schemas/tlc/1.1.0/statuses/S0026.json +36 -0
  770. data/schemas/tlc/1.1.0/statuses/S0027.json +36 -0
  771. data/schemas/tlc/1.1.0/statuses/S0028.json +36 -0
  772. data/schemas/tlc/1.1.0/statuses/S0029.json +36 -0
  773. data/schemas/tlc/1.1.0/statuses/S0030.json +36 -0
  774. data/schemas/tlc/1.1.0/statuses/S0031.json +36 -0
  775. data/schemas/tlc/1.1.0/statuses/S0032.json +73 -0
  776. data/schemas/tlc/1.1.0/statuses/S0033.json +77 -0
  777. data/schemas/tlc/1.1.0/statuses/S0034.json +36 -0
  778. data/schemas/tlc/1.1.0/statuses/S0091.json +40 -0
  779. data/schemas/tlc/1.1.0/statuses/S0092.json +40 -0
  780. data/schemas/tlc/1.1.0/statuses/S0095.json +36 -0
  781. data/schemas/tlc/1.1.0/statuses/S0096.json +126 -0
  782. data/schemas/tlc/1.1.0/statuses/S0097.json +54 -0
  783. data/schemas/tlc/1.1.0/statuses/S0098.json +72 -0
  784. data/schemas/tlc/1.1.0/statuses/S0201.json +54 -0
  785. data/schemas/tlc/1.1.0/statuses/S0202.json +54 -0
  786. data/schemas/tlc/1.1.0/statuses/S0203.json +54 -0
  787. data/schemas/tlc/1.1.0/statuses/S0204.json +198 -0
  788. data/schemas/tlc/1.1.0/statuses/S0205.json +54 -0
  789. data/schemas/tlc/1.1.0/statuses/S0206.json +54 -0
  790. data/schemas/tlc/1.1.0/statuses/S0207.json +54 -0
  791. data/schemas/tlc/1.1.0/statuses/S0208.json +198 -0
  792. data/schemas/tlc/1.1.0/statuses/statuses.json +787 -0
  793. data/schemas/tlc/1.1.0/sxl.yaml +2106 -0
  794. data/schemas/tlc/1.2.0/alarms/A0001.json +4 -0
  795. data/schemas/tlc/1.2.0/alarms/A0002.json +4 -0
  796. data/schemas/tlc/1.2.0/alarms/A0003.json +4 -0
  797. data/schemas/tlc/1.2.0/alarms/A0004.json +4 -0
  798. data/schemas/tlc/1.2.0/alarms/A0005.json +4 -0
  799. data/schemas/tlc/1.2.0/alarms/A0006.json +4 -0
  800. data/schemas/tlc/1.2.0/alarms/A0007.json +34 -0
  801. data/schemas/tlc/1.2.0/alarms/A0008.json +30 -0
  802. data/schemas/tlc/1.2.0/alarms/A0009.json +4 -0
  803. data/schemas/tlc/1.2.0/alarms/A0010.json +4 -0
  804. data/schemas/tlc/1.2.0/alarms/A0101.json +4 -0
  805. data/schemas/tlc/1.2.0/alarms/A0201.json +35 -0
  806. data/schemas/tlc/1.2.0/alarms/A0202.json +35 -0
  807. data/schemas/tlc/1.2.0/alarms/A0301.json +92 -0
  808. data/schemas/tlc/1.2.0/alarms/A0302.json +115 -0
  809. data/schemas/tlc/1.2.0/alarms/A0303.json +92 -0
  810. data/schemas/tlc/1.2.0/alarms/A0304.json +115 -0
  811. data/schemas/tlc/1.2.0/alarms/alarms.json +287 -0
  812. data/schemas/tlc/1.2.0/commands/M0001.json +92 -0
  813. data/schemas/tlc/1.2.0/commands/M0002.json +69 -0
  814. data/schemas/tlc/1.2.0/commands/M0003.json +69 -0
  815. data/schemas/tlc/1.2.0/commands/M0004.json +51 -0
  816. data/schemas/tlc/1.2.0/commands/M0005.json +69 -0
  817. data/schemas/tlc/1.2.0/commands/M0006.json +69 -0
  818. data/schemas/tlc/1.2.0/commands/M0007.json +51 -0
  819. data/schemas/tlc/1.2.0/commands/M0008.json +69 -0
  820. data/schemas/tlc/1.2.0/commands/M0010.json +51 -0
  821. data/schemas/tlc/1.2.0/commands/M0011.json +51 -0
  822. data/schemas/tlc/1.2.0/commands/M0012.json +51 -0
  823. data/schemas/tlc/1.2.0/commands/M0013.json +51 -0
  824. data/schemas/tlc/1.2.0/commands/M0014.json +69 -0
  825. data/schemas/tlc/1.2.0/commands/M0015.json +69 -0
  826. data/schemas/tlc/1.2.0/commands/M0016.json +51 -0
  827. data/schemas/tlc/1.2.0/commands/M0017.json +51 -0
  828. data/schemas/tlc/1.2.0/commands/M0018.json +69 -0
  829. data/schemas/tlc/1.2.0/commands/M0019.json +87 -0
  830. data/schemas/tlc/1.2.0/commands/M0020.json +87 -0
  831. data/schemas/tlc/1.2.0/commands/M0021.json +51 -0
  832. data/schemas/tlc/1.2.0/commands/M0022.json +249 -0
  833. data/schemas/tlc/1.2.0/commands/M0023.json +51 -0
  834. data/schemas/tlc/1.2.0/commands/M0103.json +72 -0
  835. data/schemas/tlc/1.2.0/commands/M0104.json +141 -0
  836. data/schemas/tlc/1.2.0/commands/command_requests.json +8 -0
  837. data/schemas/tlc/1.2.0/commands/command_responses.json +8 -0
  838. data/schemas/tlc/1.2.0/commands/commands.json +399 -0
  839. data/schemas/tlc/1.2.0/defs/definitions.json +67 -0
  840. data/schemas/tlc/1.2.0/defs/guards.json +24 -0
  841. data/schemas/tlc/1.2.0/rsmp.json +74 -0
  842. data/schemas/tlc/1.2.0/statuses/S0001.json +91 -0
  843. data/schemas/tlc/1.2.0/statuses/S0002.json +36 -0
  844. data/schemas/tlc/1.2.0/statuses/S0003.json +36 -0
  845. data/schemas/tlc/1.2.0/statuses/S0004.json +36 -0
  846. data/schemas/tlc/1.2.0/statuses/S0005.json +72 -0
  847. data/schemas/tlc/1.2.0/statuses/S0006.json +54 -0
  848. data/schemas/tlc/1.2.0/statuses/S0007.json +73 -0
  849. data/schemas/tlc/1.2.0/statuses/S0008.json +73 -0
  850. data/schemas/tlc/1.2.0/statuses/S0009.json +73 -0
  851. data/schemas/tlc/1.2.0/statuses/S0010.json +73 -0
  852. data/schemas/tlc/1.2.0/statuses/S0011.json +73 -0
  853. data/schemas/tlc/1.2.0/statuses/S0012.json +73 -0
  854. data/schemas/tlc/1.2.0/statuses/S0013.json +54 -0
  855. data/schemas/tlc/1.2.0/statuses/S0014.json +62 -0
  856. data/schemas/tlc/1.2.0/statuses/S0015.json +62 -0
  857. data/schemas/tlc/1.2.0/statuses/S0016.json +36 -0
  858. data/schemas/tlc/1.2.0/statuses/S0017.json +36 -0
  859. data/schemas/tlc/1.2.0/statuses/S0018.json +61 -0
  860. data/schemas/tlc/1.2.0/statuses/S0019.json +36 -0
  861. data/schemas/tlc/1.2.0/statuses/S0020.json +54 -0
  862. data/schemas/tlc/1.2.0/statuses/S0021.json +37 -0
  863. data/schemas/tlc/1.2.0/statuses/S0022.json +36 -0
  864. data/schemas/tlc/1.2.0/statuses/S0023.json +37 -0
  865. data/schemas/tlc/1.2.0/statuses/S0024.json +37 -0
  866. data/schemas/tlc/1.2.0/statuses/S0025.json +162 -0
  867. data/schemas/tlc/1.2.0/statuses/S0026.json +36 -0
  868. data/schemas/tlc/1.2.0/statuses/S0027.json +36 -0
  869. data/schemas/tlc/1.2.0/statuses/S0028.json +36 -0
  870. data/schemas/tlc/1.2.0/statuses/S0029.json +36 -0
  871. data/schemas/tlc/1.2.0/statuses/S0030.json +36 -0
  872. data/schemas/tlc/1.2.0/statuses/S0031.json +36 -0
  873. data/schemas/tlc/1.2.0/statuses/S0032.json +73 -0
  874. data/schemas/tlc/1.2.0/statuses/S0033.json +77 -0
  875. data/schemas/tlc/1.2.0/statuses/S0034.json +36 -0
  876. data/schemas/tlc/1.2.0/statuses/S0035.json +49 -0
  877. data/schemas/tlc/1.2.0/statuses/S0091.json +40 -0
  878. data/schemas/tlc/1.2.0/statuses/S0092.json +40 -0
  879. data/schemas/tlc/1.2.0/statuses/S0095.json +36 -0
  880. data/schemas/tlc/1.2.0/statuses/S0096.json +126 -0
  881. data/schemas/tlc/1.2.0/statuses/S0097.json +54 -0
  882. data/schemas/tlc/1.2.0/statuses/S0098.json +72 -0
  883. data/schemas/tlc/1.2.0/statuses/S0201.json +54 -0
  884. data/schemas/tlc/1.2.0/statuses/S0202.json +54 -0
  885. data/schemas/tlc/1.2.0/statuses/S0203.json +54 -0
  886. data/schemas/tlc/1.2.0/statuses/S0204.json +198 -0
  887. data/schemas/tlc/1.2.0/statuses/S0205.json +54 -0
  888. data/schemas/tlc/1.2.0/statuses/S0206.json +54 -0
  889. data/schemas/tlc/1.2.0/statuses/S0207.json +54 -0
  890. data/schemas/tlc/1.2.0/statuses/S0208.json +198 -0
  891. data/schemas/tlc/1.2.0/statuses/statuses.json +787 -0
  892. data/schemas/tlc/1.2.0/sxl.yaml +2082 -0
  893. data/schemas/tlc/1.2.1/alarms/A0001.json +4 -0
  894. data/schemas/tlc/1.2.1/alarms/A0002.json +4 -0
  895. data/schemas/tlc/1.2.1/alarms/A0003.json +4 -0
  896. data/schemas/tlc/1.2.1/alarms/A0004.json +4 -0
  897. data/schemas/tlc/1.2.1/alarms/A0005.json +4 -0
  898. data/schemas/tlc/1.2.1/alarms/A0006.json +4 -0
  899. data/schemas/tlc/1.2.1/alarms/A0007.json +34 -0
  900. data/schemas/tlc/1.2.1/alarms/A0008.json +30 -0
  901. data/schemas/tlc/1.2.1/alarms/A0009.json +4 -0
  902. data/schemas/tlc/1.2.1/alarms/A0010.json +4 -0
  903. data/schemas/tlc/1.2.1/alarms/A0101.json +4 -0
  904. data/schemas/tlc/1.2.1/alarms/A0201.json +35 -0
  905. data/schemas/tlc/1.2.1/alarms/A0202.json +35 -0
  906. data/schemas/tlc/1.2.1/alarms/A0301.json +92 -0
  907. data/schemas/tlc/1.2.1/alarms/A0302.json +115 -0
  908. data/schemas/tlc/1.2.1/alarms/A0303.json +92 -0
  909. data/schemas/tlc/1.2.1/alarms/A0304.json +115 -0
  910. data/schemas/tlc/1.2.1/alarms/alarms.json +287 -0
  911. data/schemas/tlc/1.2.1/commands/M0001.json +92 -0
  912. data/schemas/tlc/1.2.1/commands/M0002.json +69 -0
  913. data/schemas/tlc/1.2.1/commands/M0003.json +69 -0
  914. data/schemas/tlc/1.2.1/commands/M0004.json +51 -0
  915. data/schemas/tlc/1.2.1/commands/M0005.json +69 -0
  916. data/schemas/tlc/1.2.1/commands/M0006.json +69 -0
  917. data/schemas/tlc/1.2.1/commands/M0007.json +51 -0
  918. data/schemas/tlc/1.2.1/commands/M0008.json +69 -0
  919. data/schemas/tlc/1.2.1/commands/M0010.json +51 -0
  920. data/schemas/tlc/1.2.1/commands/M0011.json +51 -0
  921. data/schemas/tlc/1.2.1/commands/M0012.json +51 -0
  922. data/schemas/tlc/1.2.1/commands/M0013.json +51 -0
  923. data/schemas/tlc/1.2.1/commands/M0014.json +69 -0
  924. data/schemas/tlc/1.2.1/commands/M0015.json +69 -0
  925. data/schemas/tlc/1.2.1/commands/M0016.json +51 -0
  926. data/schemas/tlc/1.2.1/commands/M0017.json +51 -0
  927. data/schemas/tlc/1.2.1/commands/M0018.json +69 -0
  928. data/schemas/tlc/1.2.1/commands/M0019.json +87 -0
  929. data/schemas/tlc/1.2.1/commands/M0020.json +87 -0
  930. data/schemas/tlc/1.2.1/commands/M0021.json +51 -0
  931. data/schemas/tlc/1.2.1/commands/M0022.json +249 -0
  932. data/schemas/tlc/1.2.1/commands/M0023.json +51 -0
  933. data/schemas/tlc/1.2.1/commands/M0103.json +72 -0
  934. data/schemas/tlc/1.2.1/commands/M0104.json +141 -0
  935. data/schemas/tlc/1.2.1/commands/command_requests.json +8 -0
  936. data/schemas/tlc/1.2.1/commands/command_responses.json +8 -0
  937. data/schemas/tlc/1.2.1/commands/commands.json +399 -0
  938. data/schemas/tlc/1.2.1/defs/definitions.json +67 -0
  939. data/schemas/tlc/1.2.1/defs/guards.json +24 -0
  940. data/schemas/tlc/1.2.1/rsmp.json +74 -0
  941. data/schemas/tlc/1.2.1/statuses/S0001.json +91 -0
  942. data/schemas/tlc/1.2.1/statuses/S0002.json +36 -0
  943. data/schemas/tlc/1.2.1/statuses/S0003.json +36 -0
  944. data/schemas/tlc/1.2.1/statuses/S0004.json +36 -0
  945. data/schemas/tlc/1.2.1/statuses/S0005.json +72 -0
  946. data/schemas/tlc/1.2.1/statuses/S0006.json +54 -0
  947. data/schemas/tlc/1.2.1/statuses/S0007.json +73 -0
  948. data/schemas/tlc/1.2.1/statuses/S0008.json +73 -0
  949. data/schemas/tlc/1.2.1/statuses/S0009.json +73 -0
  950. data/schemas/tlc/1.2.1/statuses/S0010.json +73 -0
  951. data/schemas/tlc/1.2.1/statuses/S0011.json +73 -0
  952. data/schemas/tlc/1.2.1/statuses/S0012.json +73 -0
  953. data/schemas/tlc/1.2.1/statuses/S0013.json +54 -0
  954. data/schemas/tlc/1.2.1/statuses/S0014.json +62 -0
  955. data/schemas/tlc/1.2.1/statuses/S0015.json +62 -0
  956. data/schemas/tlc/1.2.1/statuses/S0016.json +36 -0
  957. data/schemas/tlc/1.2.1/statuses/S0017.json +36 -0
  958. data/schemas/tlc/1.2.1/statuses/S0018.json +61 -0
  959. data/schemas/tlc/1.2.1/statuses/S0019.json +36 -0
  960. data/schemas/tlc/1.2.1/statuses/S0020.json +54 -0
  961. data/schemas/tlc/1.2.1/statuses/S0021.json +37 -0
  962. data/schemas/tlc/1.2.1/statuses/S0022.json +36 -0
  963. data/schemas/tlc/1.2.1/statuses/S0023.json +37 -0
  964. data/schemas/tlc/1.2.1/statuses/S0024.json +37 -0
  965. data/schemas/tlc/1.2.1/statuses/S0025.json +162 -0
  966. data/schemas/tlc/1.2.1/statuses/S0026.json +36 -0
  967. data/schemas/tlc/1.2.1/statuses/S0027.json +36 -0
  968. data/schemas/tlc/1.2.1/statuses/S0028.json +36 -0
  969. data/schemas/tlc/1.2.1/statuses/S0029.json +36 -0
  970. data/schemas/tlc/1.2.1/statuses/S0030.json +36 -0
  971. data/schemas/tlc/1.2.1/statuses/S0031.json +36 -0
  972. data/schemas/tlc/1.2.1/statuses/S0032.json +73 -0
  973. data/schemas/tlc/1.2.1/statuses/S0033.json +77 -0
  974. data/schemas/tlc/1.2.1/statuses/S0034.json +36 -0
  975. data/schemas/tlc/1.2.1/statuses/S0035.json +49 -0
  976. data/schemas/tlc/1.2.1/statuses/S0091.json +40 -0
  977. data/schemas/tlc/1.2.1/statuses/S0092.json +40 -0
  978. data/schemas/tlc/1.2.1/statuses/S0095.json +36 -0
  979. data/schemas/tlc/1.2.1/statuses/S0096.json +126 -0
  980. data/schemas/tlc/1.2.1/statuses/S0097.json +54 -0
  981. data/schemas/tlc/1.2.1/statuses/S0098.json +72 -0
  982. data/schemas/tlc/1.2.1/statuses/S0201.json +54 -0
  983. data/schemas/tlc/1.2.1/statuses/S0202.json +54 -0
  984. data/schemas/tlc/1.2.1/statuses/S0203.json +54 -0
  985. data/schemas/tlc/1.2.1/statuses/S0204.json +198 -0
  986. data/schemas/tlc/1.2.1/statuses/S0205.json +54 -0
  987. data/schemas/tlc/1.2.1/statuses/S0206.json +54 -0
  988. data/schemas/tlc/1.2.1/statuses/S0207.json +54 -0
  989. data/schemas/tlc/1.2.1/statuses/S0208.json +198 -0
  990. data/schemas/tlc/1.2.1/statuses/statuses.json +787 -0
  991. data/schemas/tlc/1.2.1/sxl.yaml +2109 -0
  992. data/schemas/tlc/defs/guards.json +24 -0
  993. metadata +1000 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 14695207a9d722b94988550ab5a9d2e5c3dfb31cab1073601c9dce66a6b15b08
4
- data.tar.gz: 9d3721e8c5155a3156c678142f09bc2f343d336b55bd8906343b4d6feb785084
3
+ metadata.gz: 4388b553588ba4ad894f3daac620992cc351b4c2d061132a37690f77e72971ad
4
+ data.tar.gz: 0dfd1b5a8a83ab75810a8a822e6507dca3728b53e99462bf69fe96f924395fac
5
5
  SHA512:
6
- metadata.gz: 4c0b0ba9f632cc0c567e4a989510cde9f9cf3e4c968d7112c147dc98e87862c83bf49dc8f6b4994b6c9386e26d9a486718bf223c1dd1fa8883643d824191dd79
7
- data.tar.gz: 6026dc8779960ad5bbf4006bc813dad26b0d98e4abca735f51cc8563097874014d3dc5a928949198c9b6c315ca7fd51c44585fbaee6b78b520ca27f4b47bd05f
6
+ metadata.gz: 513d73bbb2e42366fbb0c598f92ef97745379769ecc2ba7aa79fda31e94fc3c34f39e81daa707e687159c7d644034057671b14ab5941da0615b3884fa95e53ac
7
+ data.tar.gz: 11cb9674aea89d3c3f693707ecce22d65632a0391ef635cb6ef0c1ea4226445c747c117e34ef0e28eb056618cd262f8f8d51f75941e9107d8fb8f17633453156
data/.rubocop.yml CHANGED
@@ -8,6 +8,8 @@ AllCops:
8
8
  - '.bundle/**/*'
9
9
  - 'ignore/**/*'
10
10
  - 'config/private/**/*'
11
+ - 'schemas/**/*'
12
+ - 'tmp/**/*'
11
13
 
12
14
  # Allow longer line lengths for tests with long JSON strings
13
15
  Layout/LineLength:
data/CHANGELOG.md CHANGED
@@ -652,4 +652,10 @@ Initial release.
652
652
 
653
653
  ## 0.40.1
654
654
  - fix config normalization
655
- - improve config schema validation
655
+ - improve config schema validation
656
+
657
+ ## 0.43.0
658
+ - rsmp_schema folded into this gem
659
+ - all schema files vendored into this repo, with rake task to update them
660
+ - moved `rake regenerate` to `rsmp schema generate` CLI
661
+
data/Gemfile.lock CHANGED
@@ -1,14 +1,15 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp (0.42.9)
4
+ rsmp (0.43.0)
5
5
  async (~> 2.32)
6
6
  colorize (~> 1.1)
7
7
  io-endpoint (~> 0.15)
8
8
  io-stream (~> 0.10)
9
+ json_schemer (~> 2.5)
9
10
  logger (~> 1.6)
10
11
  ostruct (~> 0.6)
11
- rsmp_schema (~> 0.10)
12
+ thor (~> 1.5)
12
13
 
13
14
  GEM
14
15
  remote: https://rubygems.org/
@@ -95,9 +96,6 @@ GEM
95
96
  rainbow (3.1.1)
96
97
  rake (13.4.2)
97
98
  regexp_parser (2.12.0)
98
- rsmp_schema (0.10.1)
99
- json_schemer (~> 2.5)
100
- thor (~> 1.5)
101
99
  rspec-expectations (3.13.5)
102
100
  diff-lcs (>= 1.2.0, < 2.0)
103
101
  rspec-support (~> 3.13.0)
data/Rakefile CHANGED
@@ -4,4 +4,40 @@ task :test do
4
4
  sh 'bundle exec sus'
5
5
  end
6
6
 
7
+ CORE_VERSIONS = %w[3.1.2 3.1.3 3.1.4 3.1.5 3.2.0 3.2.1 3.2.2].freeze
8
+ TLC_VERSIONS = %w[1.0.7 1.0.8 1.0.9 1.0.10 1.0.13 1.0.14 1.0.15 1.1.0 1.2.0 1.2.1].freeze
9
+
10
+ # Update vendored schemas from source repos.
11
+ # Usage: rake schemas:update[/path/to/rsmp_core,/path/to/rsmp_sxl_traffic_lights]
12
+ # Defaults to sibling directories ../rsmp_core and ../rsmp_sxl_traffic_lights.
13
+ #
14
+ # NOTE: The source repos must have the version branches up to date locally.
15
+ # If the remote has been updated, fetch first:
16
+ # git -C ../rsmp_core fetch
17
+ # git -C ../rsmp_sxl_traffic_lights fetch
18
+ namespace :schemas do
19
+ task :update, [:core_path, :tlc_path] do |_t, args|
20
+ core_path = File.expand_path(args[:core_path] || '../rsmp_core')
21
+ tlc_path = File.expand_path(args[:tlc_path] || '../rsmp_sxl_traffic_lights')
22
+
23
+ puts "Updating core schemas from #{core_path}:"
24
+ CORE_VERSIONS.each do |ver|
25
+ target = "schemas/core/#{ver}"
26
+ puts " #{ver}"
27
+ FileUtils.rm_rf(target)
28
+ FileUtils.mkdir_p(target)
29
+ sh "git -C #{core_path} archive refs/heads/#{ver} -- schema/ | tar x --strip-components=1 -C #{target}"
30
+ end
31
+
32
+ puts "Updating TLC schemas from #{tlc_path}:"
33
+ TLC_VERSIONS.each do |ver|
34
+ target = "schemas/tlc/#{ver}"
35
+ puts " #{ver}"
36
+ FileUtils.rm_rf(target)
37
+ FileUtils.mkdir_p(target)
38
+ sh "git -C #{tlc_path} archive refs/heads/#{ver} -- schema/ | tar x --strip-components=1 -C #{target}"
39
+ end
40
+ end
41
+ end
42
+
7
43
  task default: :test
data/lib/rsmp/cli.rb CHANGED
@@ -2,6 +2,24 @@ require 'thor'
2
2
  require_relative '../rsmp'
3
3
 
4
4
  module RSMP
5
+ # CLI subcommands for SXL schema operations.
6
+ class SchemaCLI < Thor
7
+ namespace :schema
8
+ desc 'generate', 'Generate JSON Schema files from sxl.yaml'
9
+ method_option :in, type: :string, aliases: '-i', banner: 'Path to sxl.yaml input file', default: 'sxl.yaml'
10
+ method_option :out, type: :string, aliases: '-o', banner: 'Path to output directory', default: '.'
11
+ def generate
12
+ input = options[:in]
13
+ output = options[:out]
14
+ unless File.exist?(input)
15
+ puts "Error: Input file #{input} not found"
16
+ exit 1
17
+ end
18
+ sxl = RSMP::Convert::Import::YAML.read(input)
19
+ RSMP::Convert::Export::JSONSchema.write(sxl, output)
20
+ end
21
+ end
22
+
5
23
  # CLI commands for running RSMP site and supervisor.
6
24
  class CLI < Thor
7
25
  desc 'version', 'Show version'
@@ -47,14 +65,7 @@ module RSMP
47
65
  # ctrl-c
48
66
  end
49
67
 
50
- desc 'convert', 'Convert SXL from YAML to JSON Schema'
51
- method_option :in, type: :string, aliases: '-i', banner: 'Path to YAML input file'
52
- method_option :out, type: :string, aliases: '-o', banner: 'Path to JSON Schema output file'
53
- def convert
54
- validate_convert_options
55
- validate_input_file_exists
56
- perform_conversion
57
- end
68
+ register SchemaCLI, 'schema', 'schema COMMAND', 'SXL schema commands'
58
69
 
59
70
  no_commands do
60
71
  def load_site_configuration
@@ -187,30 +198,6 @@ module RSMP
187
198
  end
188
199
  end
189
200
 
190
- def validate_convert_options
191
- unless options[:in]
192
- puts 'Error: Input option missing'
193
- exit
194
- end
195
-
196
- return if options[:out]
197
-
198
- puts 'Error: Output option missing'
199
- exit
200
- end
201
-
202
- def validate_input_file_exists
203
- return if File.exist? options[:in]
204
-
205
- puts "Error: Input path file #{options[:in]} not found"
206
- exit
207
- end
208
-
209
- def perform_conversion
210
- sxl = RSMP::Convert::Import::YAML.read options[:in]
211
- RSMP::Convert::Export::JSONSchema.write sxl, options[:out]
212
- end
213
-
214
201
  # avoid Thor returnin 0 on failures, see
215
202
  # https://github.com/coinbase/salus/pull/380/files
216
203
  def self.exit_on_failure?
@@ -0,0 +1,55 @@
1
+ module RSMP
2
+ module Convert
3
+ module Export
4
+ # Converts SXL definitions to JSON Schema files.
5
+ module JSONSchema
6
+ # convert yaml alarm/status/command item to corresponding json schema
7
+ def self.build_item(item, property_key: 'v')
8
+ arguments = item['arguments']
9
+ return simple_item(item) unless arguments
10
+
11
+ property_key == 's' ? build_status_item(item, arguments) : build_default_item(item, arguments, property_key)
12
+ end
13
+
14
+ def self.simple_item(item)
15
+ {
16
+ '$schema' => 'https://json-schema.org/draft/2020-12/schema',
17
+ 'description' => item['description']
18
+ }
19
+ end
20
+
21
+ def self.build_status_item(item, arguments)
22
+ branches = arguments.map do |key, argument|
23
+ {
24
+ 'if' => { 'properties' => { 'n' => { 'const' => key } } },
25
+ 'then' => { 'properties' => { 's' => build_value(argument) } }
26
+ }
27
+ end
28
+ {
29
+ '$schema' => 'https://json-schema.org/draft/2020-12/schema',
30
+ 'description' => item['description'],
31
+ 'properties' => { 'n' => { 'enum' => arguments.keys.sort } },
32
+ 'if' => { '$ref' => '../defs/guards.json#/$defs/q_unknown_or_undefined' },
33
+ 'then' => {},
34
+ 'else' => { 'allOf' => branches }
35
+ }
36
+ end
37
+
38
+ def self.build_default_item(item, arguments, property_key)
39
+ rules = arguments.map do |key, argument|
40
+ {
41
+ 'if' => { 'properties' => { 'n' => { 'const' => key } } },
42
+ 'then' => { 'properties' => { property_key => build_value(argument) } }
43
+ }
44
+ end
45
+ {
46
+ '$schema' => 'https://json-schema.org/draft/2020-12/schema',
47
+ 'description' => item['description'],
48
+ 'properties' => { 'n' => { 'enum' => arguments.keys.sort } },
49
+ 'allOf' => rules
50
+ }
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,147 @@
1
+ module RSMP
2
+ module Convert
3
+ module Export
4
+ # Converts SXL definitions to JSON Schema files.
5
+ module JSONSchema
6
+ GUARDS_JSON = {
7
+ '$schema' => 'https://json-schema.org/draft/2020-12/schema',
8
+ '$defs' => {
9
+ 'q_unknown_or_undefined' => {
10
+ 'allOf' => [
11
+ { 'required' => ['q'] },
12
+ { 'properties' => { 'q' => { 'enum' => %w[undefined unknown] } } }
13
+ ]
14
+ }
15
+ }
16
+ }.freeze
17
+
18
+ # convert alarms to json schema
19
+ def self.output_alarms(out, items)
20
+ list = items.keys.sort.map do |key|
21
+ {
22
+ 'if' => { 'required' => ['aCId'], 'properties' => { 'aCId' => { 'const' => key } } },
23
+ 'then' => { '$ref' => "#{key}.json" }
24
+ }
25
+ end
26
+ json = {
27
+ '$schema' => 'https://json-schema.org/draft/2020-12/schema',
28
+ 'properties' => {
29
+ 'aCId' => { 'enum' => items.keys.sort },
30
+ 'rvs' => { 'items' => { 'allOf' => list } }
31
+ }
32
+ }
33
+ out['alarms/alarms.json'] = output_json json
34
+ items.each_pair { |key, item| output_alarm out, key, item }
35
+ end
36
+
37
+ # convert an alarm to json schema
38
+ def self.output_alarm(out, key, item)
39
+ json = build_item item
40
+ out["alarms/#{key}.json"] = output_json json
41
+ end
42
+
43
+ # convert statuses to json schema
44
+ def self.output_statuses(out, items)
45
+ out['defs/guards.json'] ||= output_json(GUARDS_JSON)
46
+
47
+ list = [{ 'properties' => { 'sCI' => { 'enum' => items.keys.sort } } }]
48
+ items.keys.sort.each do |key|
49
+ list << {
50
+ 'if' => { 'required' => ['sCI'], 'properties' => { 'sCI' => { 'const' => key } } },
51
+ 'then' => { '$ref' => "#{key}.json" }
52
+ }
53
+ end
54
+ json = {
55
+ '$schema' => 'https://json-schema.org/draft/2020-12/schema',
56
+ 'properties' => { 'sS' => { 'items' => { 'allOf' => list } } }
57
+ }
58
+ out['statuses/statuses.json'] = output_json json
59
+ items.each_pair { |key, item| output_status out, key, item }
60
+ end
61
+
62
+ # convert a status to json schema
63
+ def self.output_status(out, key, item)
64
+ json = build_item item, property_key: 's'
65
+ out["statuses/#{key}.json"] = output_json json
66
+ end
67
+
68
+ # convert commands to json schema
69
+ def self.output_commands(out, items)
70
+ list = [{ 'properties' => { 'cCI' => { 'enum' => items.keys.sort } } }]
71
+ items.keys.sort.each do |key|
72
+ list << {
73
+ 'if' => { 'required' => ['cCI'], 'properties' => { 'cCI' => { 'const' => key } } },
74
+ 'then' => { '$ref' => "#{key}.json" }
75
+ }
76
+ end
77
+ json = {
78
+ '$schema' => 'https://json-schema.org/draft/2020-12/schema',
79
+ 'items' => { 'allOf' => list }
80
+ }
81
+ out['commands/commands.json'] = output_json json
82
+
83
+ json = {
84
+ '$schema' => 'https://json-schema.org/draft/2020-12/schema',
85
+ 'properties' => { 'arg' => { '$ref' => 'commands.json' } }
86
+ }
87
+ out['commands/command_requests.json'] = output_json json
88
+
89
+ json = {
90
+ '$schema' => 'https://json-schema.org/draft/2020-12/schema',
91
+ 'properties' => { 'rvs' => { '$ref' => 'commands.json' } }
92
+ }
93
+ out['commands/command_responses.json'] = output_json json
94
+
95
+ items.each_pair { |key, item| output_command out, key, item }
96
+ end
97
+
98
+ # convert a command to json schema
99
+ def self.output_command(out, key, item)
100
+ json = build_item item
101
+ json['properties'] ||= {}
102
+ json['properties']['cO'] = { 'const' => item['command'] }
103
+ out["commands/#{key}.json"] = output_json json
104
+ end
105
+
106
+ # output the json schema root
107
+ def self.output_root(out, meta)
108
+ json = {
109
+ '$schema' => 'https://json-schema.org/draft/2020-12/schema',
110
+ 'name' => meta['name'],
111
+ 'description' => meta['description'],
112
+ 'version' => meta['version'],
113
+ 'allOf' => root_type_rules
114
+ }
115
+ out['rsmp.json'] = output_json json
116
+ end
117
+
118
+ def self.root_type_rules
119
+ [
120
+ {
121
+ 'if' => { 'required' => ['type'], 'properties' => { 'type' => { 'const' => 'CommandRequest' } } },
122
+ 'then' => { '$ref' => 'commands/command_requests.json' }
123
+ },
124
+ {
125
+ 'if' => { 'required' => ['type'], 'properties' => { 'type' => { 'const' => 'CommandResponse' } } },
126
+ 'then' => { '$ref' => 'commands/command_responses.json' }
127
+ },
128
+ {
129
+ 'if' => {
130
+ 'required' => ['type'],
131
+ 'properties' => {
132
+ 'type' => { 'enum' => %w[StatusRequest StatusResponse StatusSubscribe StatusUnsubscribe
133
+ StatusUpdate] }
134
+ }
135
+ },
136
+ 'then' => { '$ref' => 'statuses/statuses.json' }
137
+ },
138
+ {
139
+ 'if' => { 'required' => ['type'], 'properties' => { 'type' => { 'const' => 'Alarm' } } },
140
+ 'then' => { '$ref' => 'alarms/alarms.json' }
141
+ }
142
+ ]
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,120 @@
1
+ module RSMP
2
+ module Convert
3
+ module Export
4
+ # Converts SXL definitions to JSON Schema files.
5
+ module JSONSchema
6
+ # convert a yaml item to json schema
7
+ def self.build_value(item)
8
+ out = {}
9
+ out['description'] = item['description'] if item['description']
10
+ if item['type'] =~ /_list$/
11
+ handle_string_list item, out
12
+ else
13
+ handle_types item, out
14
+ handle_enum item, out
15
+ handle_pattern item, out
16
+ end
17
+ wrap_refs out
18
+ end
19
+
20
+ # convert an item which is not a string-list, to json schema
21
+ def self.handle_types(item, out)
22
+ case item['type']
23
+ when 'boolean'
24
+ out['$ref'] = '../defs/definitions.json#/boolean'
25
+ when 'timestamp'
26
+ out['$ref'] = '../defs/definitions.json#/timestamp'
27
+ when 'integer', 'ordinal', 'unit', 'scale', 'long'
28
+ out['$ref'] = '../defs/definitions.json#/integer'
29
+ when 'array' # a json array
30
+ build_json_array item['items'], out
31
+ else # string, base64, and any unknown types
32
+ out['type'] = 'string'
33
+ end
34
+ end
35
+
36
+ # convert an yaml item with type: array to json schema
37
+ def self.build_json_array(item, out)
38
+ required = item.reject { |_k, v| v['optional'] == true }.keys.sort
39
+ out.merge!({
40
+ 'type' => 'array',
41
+ 'items' => {
42
+ 'type' => 'object',
43
+ 'required' => required,
44
+ 'unevaluatedProperties' => false
45
+ }
46
+ })
47
+ out['items']['properties'] = {}
48
+ item.each_pair do |key, v|
49
+ out['items']['properties'][key] = build_value(v)
50
+ end
51
+ out
52
+ end
53
+
54
+ # JSON Schema 2020-12 allows combining $ref with other properties directly
55
+ def self.wrap_refs(out)
56
+ out
57
+ end
58
+
59
+ # convert a yaml item with list: true to json schema
60
+ def self.handle_string_list(item, out)
61
+ case item['type']
62
+ when 'boolean_list'
63
+ out['$ref'] = '../defs/definitions.json#/boolean_list'
64
+ when 'integer_list'
65
+ out['$ref'] = '../defs/definitions.json#/integer_list'
66
+ when 'string_list'
67
+ out['$ref'] = '../defs/definitions.json#/string_list'
68
+ else
69
+ raise "Error: List of #{item['type']} is not supported: #{item.inspect}"
70
+ end
71
+
72
+ if item['values']
73
+ value_list = item['values'].keys.join('|')
74
+ out['pattern'] = /(?-mix:^(#{value_list})(?:,(#{value_list}))*$)/
75
+ end
76
+
77
+ puts "Warning: Pattern not support for lists: #{item.inspect}" if item['pattern']
78
+ end
79
+
80
+ # convert yaml values to json schema enum
81
+ def self.handle_enum(item, out)
82
+ return unless item['values']
83
+
84
+ out['enum'] = stringify_values(enum_keys(item))
85
+ end
86
+
87
+ def self.enum_keys(item)
88
+ case item['values']
89
+ when Hash
90
+ validate_hash_values! item
91
+ item['values'].keys.sort
92
+ when Array
93
+ item['values'].sort
94
+ else
95
+ raise 'Error: Values must be specified as either a Hash or an Array, ' \
96
+ "got #{item['values'].class}"
97
+ end
98
+ end
99
+
100
+ def self.validate_hash_values!(item)
101
+ item['values'].each_pair do |k, v|
102
+ next unless ['', nil].include?(v)
103
+
104
+ raise "Error: '#{k}' has empty value in #{item}. " \
105
+ '(When using a hash to specify \'values\', the hash values cannot be empty.)'
106
+ end
107
+ end
108
+
109
+ def self.stringify_values(values)
110
+ values.map { |v| v.is_a?(Integer) || v.is_a?(Float) ? v.to_s : v }
111
+ end
112
+
113
+ # convert yaml pattern to json schema
114
+ def self.handle_pattern(item, out)
115
+ out['pattern'] = item['pattern'] if item['pattern']
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,58 @@
1
+ # Export SXL to JSON Schema format
2
+
3
+ require 'yaml'
4
+ require 'json'
5
+ require 'fileutils'
6
+
7
+ require_relative 'json_schema/values'
8
+ require_relative 'json_schema/items'
9
+ require_relative 'json_schema/outputs'
10
+
11
+ module RSMP
12
+ module Convert
13
+ # Handles exporting SXL definitions.
14
+ module Export
15
+ # Converts SXL definitions to JSON Schema files.
16
+ module JSONSchema
17
+ JSON_OPTIONS = {
18
+ array_nl: "\n",
19
+ object_nl: "\n",
20
+ indent: ' ',
21
+ space_before: ' ',
22
+ space: ' '
23
+ }.freeze
24
+
25
+ def self.output_json(item)
26
+ JSON.generate(item, JSON_OPTIONS)
27
+ end
28
+
29
+ # Default path to definitions.json bundled with the gem's core schemas
30
+ DEFINITIONS_SOURCE = File.expand_path('../../../../schemas/core/3.1.2/definitions.json', __dir__)
31
+
32
+ # generate the json schema from a string containing yaml
33
+ def self.generate(sxl)
34
+ out = {}
35
+ output_root out, sxl[:meta]
36
+ output_alarms out, sxl[:alarms]
37
+ output_statuses out, sxl[:statuses]
38
+ output_commands out, sxl[:commands]
39
+ out
40
+ end
41
+
42
+ # convert yaml to json schema and write files to a folder
43
+ def self.write(sxl, folder)
44
+ out = generate sxl
45
+ out.each_pair do |relative_path, str|
46
+ path = File.join(folder, relative_path)
47
+ FileUtils.mkdir_p File.dirname(path)
48
+ File.open(path, 'w+') { |file| file.puts str }
49
+ end
50
+ # Copy definitions.json so each version folder is self-contained
51
+ defs_dest = File.join(folder, 'defs', 'definitions.json')
52
+ FileUtils.mkdir_p File.dirname(defs_dest)
53
+ FileUtils.cp DEFINITIONS_SOURCE, defs_dest if File.exist?(DEFINITIONS_SOURCE)
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
data/lib/rsmp/message.rb CHANGED
@@ -1,5 +1,3 @@
1
- require 'rsmp_schema'
2
-
3
1
  # rsmp messages
4
2
  module RSMP
5
3
  # Base RSMP message class used to represent parsed and built messages.