losant_rest 2.0.0 → 2.1.1

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 (350) hide show
  1. checksums.yaml +4 -4
  2. data/docs/_schemas.md +140925 -67028
  3. data/docs/application.md +27 -27
  4. data/docs/applicationApiToken.md +1 -1
  5. data/docs/applicationApiTokens.md +1 -1
  6. data/docs/applicationCertificate.md +3 -3
  7. data/docs/applicationCertificateAuthorities.md +2 -2
  8. data/docs/applicationCertificateAuthority.md +3 -3
  9. data/docs/applicationCertificates.md +5 -4
  10. data/docs/applicationDashboard.md +5 -5
  11. data/docs/applicationDashboards.md +2 -2
  12. data/docs/applicationJobLog.md +1 -1
  13. data/docs/applicationJobLogs.md +1 -1
  14. data/docs/applicationKey.md +3 -3
  15. data/docs/applicationKeys.md +2 -2
  16. data/docs/applicationTemplate.md +1 -1
  17. data/docs/applicationTemplates.md +3 -3
  18. data/docs/applications.md +5 -5
  19. data/docs/auditLog.md +1 -1
  20. data/docs/auditLogs.md +1 -1
  21. data/docs/auth.md +1 -1
  22. data/docs/credential.md +4 -4
  23. data/docs/credentials.md +2 -2
  24. data/docs/dashboard.md +4 -4
  25. data/docs/dashboards.md +3 -2
  26. data/docs/data.md +3 -3
  27. data/docs/dataTable.md +5 -5
  28. data/docs/dataTableRow.md +4 -4
  29. data/docs/dataTableRows.md +9 -9
  30. data/docs/dataTables.md +2 -2
  31. data/docs/device.md +15 -15
  32. data/docs/deviceAttribute.md +3 -3
  33. data/docs/deviceAttributes.md +2 -2
  34. data/docs/deviceRecipe.md +4 -4
  35. data/docs/deviceRecipes.md +2 -2
  36. data/docs/devices.md +14 -14
  37. data/docs/edgeDeployment.md +1 -1
  38. data/docs/edgeDeployments.md +7 -7
  39. data/docs/embeddedDeployment.md +1 -1
  40. data/docs/embeddedDeployments.md +8 -8
  41. data/docs/event.md +3 -3
  42. data/docs/events.md +6 -6
  43. data/docs/experience.md +3 -3
  44. data/docs/experienceDomain.md +3 -3
  45. data/docs/experienceDomains.md +2 -2
  46. data/docs/experienceEndpoint.md +4 -4
  47. data/docs/experienceEndpoints.md +3 -3
  48. data/docs/experienceGroup.md +3 -3
  49. data/docs/experienceGroups.md +2 -2
  50. data/docs/experienceSlug.md +3 -3
  51. data/docs/experienceSlugs.md +2 -2
  52. data/docs/experienceUser.md +3 -3
  53. data/docs/experienceUsers.md +2 -2
  54. data/docs/experienceVersion.md +3 -3
  55. data/docs/experienceVersions.md +2 -2
  56. data/docs/experienceView.md +4 -4
  57. data/docs/experienceViews.md +2 -2
  58. data/docs/file.md +9 -9
  59. data/docs/files.md +3 -3
  60. data/docs/flow.md +11 -11
  61. data/docs/flowVersion.md +6 -6
  62. data/docs/flowVersions.md +4 -4
  63. data/docs/flows.md +5 -5
  64. data/docs/instance.md +8 -8
  65. data/docs/instanceApiToken.md +1 -1
  66. data/docs/instanceApiTokens.md +2 -2
  67. data/docs/instanceAuditLog.md +1 -1
  68. data/docs/instanceAuditLogs.md +1 -1
  69. data/docs/instanceCustomNode.md +5 -5
  70. data/docs/instanceCustomNodes.md +2 -2
  71. data/docs/instanceMember.md +2 -2
  72. data/docs/instanceMembers.md +1 -1
  73. data/docs/instanceNotificationRule.md +5 -5
  74. data/docs/instanceNotificationRules.md +2 -2
  75. data/docs/instanceOrg.md +8 -8
  76. data/docs/instanceOrgInvite.md +3 -3
  77. data/docs/instanceOrgInvites.md +2 -2
  78. data/docs/instanceOrgMember.md +1 -1
  79. data/docs/instanceOrgMembers.md +3 -2
  80. data/docs/instanceOrgs.md +3 -3
  81. data/docs/instanceSandbox.md +7 -7
  82. data/docs/instanceSandboxes.md +1 -1
  83. data/docs/instances.md +1 -1
  84. data/docs/integration.md +3 -3
  85. data/docs/integrations.md +2 -2
  86. data/docs/me.md +21 -21
  87. data/docs/notebook.md +10 -10
  88. data/docs/notebooks.md +2 -2
  89. data/docs/org.md +14 -14
  90. data/docs/orgs.md +2 -2
  91. data/docs/privateFile.md +9 -9
  92. data/docs/privateFiles.md +3 -3
  93. data/docs/resourceJob.md +8 -8
  94. data/docs/resourceJobs.md +2 -2
  95. data/docs/userApiToken.md +3 -3
  96. data/docs/userApiTokens.md +4 -4
  97. data/docs/userOauthToken.md +125 -0
  98. data/docs/userOauthTokens.md +87 -0
  99. data/docs/webhook.md +3 -3
  100. data/docs/webhooks.md +2 -2
  101. data/lib/platform_rest/application.rb +21 -21
  102. data/lib/platform_rest/application_api_token.rb +1 -1
  103. data/lib/platform_rest/application_api_tokens.rb +1 -1
  104. data/lib/platform_rest/application_certificate.rb +3 -3
  105. data/lib/platform_rest/application_certificate_authorities.rb +2 -2
  106. data/lib/platform_rest/application_certificate_authority.rb +3 -3
  107. data/lib/platform_rest/application_certificates.rb +7 -4
  108. data/lib/platform_rest/application_dashboard.rb +5 -5
  109. data/lib/platform_rest/application_dashboards.rb +2 -2
  110. data/lib/platform_rest/application_job_log.rb +1 -1
  111. data/lib/platform_rest/application_job_logs.rb +1 -1
  112. data/lib/platform_rest/application_key.rb +3 -3
  113. data/lib/platform_rest/application_keys.rb +2 -2
  114. data/lib/platform_rest/application_template.rb +1 -1
  115. data/lib/platform_rest/application_templates.rb +3 -3
  116. data/lib/platform_rest/applications.rb +3 -3
  117. data/lib/platform_rest/audit_log.rb +1 -1
  118. data/lib/platform_rest/audit_logs.rb +1 -1
  119. data/lib/platform_rest/client.rb +10 -2
  120. data/lib/platform_rest/credential.rb +4 -4
  121. data/lib/platform_rest/credentials.rb +2 -2
  122. data/lib/platform_rest/dashboard.rb +4 -4
  123. data/lib/platform_rest/dashboards.rb +3 -2
  124. data/lib/platform_rest/data.rb +3 -3
  125. data/lib/platform_rest/data_table.rb +5 -5
  126. data/lib/platform_rest/data_table_row.rb +4 -4
  127. data/lib/platform_rest/data_table_rows.rb +9 -9
  128. data/lib/platform_rest/data_tables.rb +2 -2
  129. data/lib/platform_rest/device.rb +15 -15
  130. data/lib/platform_rest/device_attribute.rb +3 -3
  131. data/lib/platform_rest/device_attributes.rb +2 -2
  132. data/lib/platform_rest/device_recipe.rb +4 -4
  133. data/lib/platform_rest/device_recipes.rb +2 -2
  134. data/lib/platform_rest/devices.rb +14 -14
  135. data/lib/platform_rest/edge_deployment.rb +1 -1
  136. data/lib/platform_rest/edge_deployments.rb +7 -7
  137. data/lib/platform_rest/embedded_deployment.rb +1 -1
  138. data/lib/platform_rest/embedded_deployments.rb +8 -8
  139. data/lib/platform_rest/event.rb +3 -3
  140. data/lib/platform_rest/events.rb +6 -6
  141. data/lib/platform_rest/experience.rb +3 -3
  142. data/lib/platform_rest/experience_domain.rb +3 -3
  143. data/lib/platform_rest/experience_domains.rb +2 -2
  144. data/lib/platform_rest/experience_endpoint.rb +4 -4
  145. data/lib/platform_rest/experience_endpoints.rb +3 -3
  146. data/lib/platform_rest/experience_group.rb +3 -3
  147. data/lib/platform_rest/experience_groups.rb +2 -2
  148. data/lib/platform_rest/experience_slug.rb +3 -3
  149. data/lib/platform_rest/experience_slugs.rb +2 -2
  150. data/lib/platform_rest/experience_user.rb +3 -3
  151. data/lib/platform_rest/experience_users.rb +2 -2
  152. data/lib/platform_rest/experience_version.rb +3 -3
  153. data/lib/platform_rest/experience_versions.rb +2 -2
  154. data/lib/platform_rest/experience_view.rb +4 -4
  155. data/lib/platform_rest/experience_views.rb +2 -2
  156. data/lib/platform_rest/file.rb +6 -6
  157. data/lib/platform_rest/files.rb +2 -2
  158. data/lib/platform_rest/flow.rb +11 -11
  159. data/lib/platform_rest/flow_version.rb +6 -6
  160. data/lib/platform_rest/flow_versions.rb +3 -3
  161. data/lib/platform_rest/flows.rb +5 -5
  162. data/lib/platform_rest/instance.rb +8 -8
  163. data/lib/platform_rest/instance_api_token.rb +1 -1
  164. data/lib/platform_rest/instance_api_tokens.rb +2 -2
  165. data/lib/platform_rest/instance_audit_log.rb +1 -1
  166. data/lib/platform_rest/instance_audit_logs.rb +1 -1
  167. data/lib/platform_rest/instance_custom_node.rb +5 -5
  168. data/lib/platform_rest/instance_custom_nodes.rb +2 -2
  169. data/lib/platform_rest/instance_member.rb +2 -2
  170. data/lib/platform_rest/instance_members.rb +1 -1
  171. data/lib/platform_rest/instance_notification_rule.rb +5 -5
  172. data/lib/platform_rest/instance_notification_rules.rb +2 -2
  173. data/lib/platform_rest/instance_org.rb +8 -8
  174. data/lib/platform_rest/instance_org_invite.rb +3 -3
  175. data/lib/platform_rest/instance_org_invites.rb +3 -3
  176. data/lib/platform_rest/instance_org_member.rb +1 -1
  177. data/lib/platform_rest/instance_org_members.rb +3 -2
  178. data/lib/platform_rest/instance_orgs.rb +3 -3
  179. data/lib/platform_rest/instance_sandbox.rb +7 -7
  180. data/lib/platform_rest/instance_sandboxes.rb +1 -1
  181. data/lib/platform_rest/instances.rb +1 -1
  182. data/lib/platform_rest/integration.rb +3 -3
  183. data/lib/platform_rest/integrations.rb +2 -2
  184. data/lib/platform_rest/me.rb +21 -21
  185. data/lib/platform_rest/notebook.rb +9 -9
  186. data/lib/platform_rest/notebooks.rb +2 -2
  187. data/lib/platform_rest/org.rb +14 -14
  188. data/lib/platform_rest/orgs.rb +2 -2
  189. data/lib/platform_rest/private_file.rb +6 -6
  190. data/lib/platform_rest/private_files.rb +2 -2
  191. data/lib/platform_rest/resource_job.rb +8 -8
  192. data/lib/platform_rest/resource_jobs.rb +2 -2
  193. data/lib/platform_rest/user_api_token.rb +3 -3
  194. data/lib/platform_rest/user_api_tokens.rb +4 -4
  195. data/lib/platform_rest/user_oauth_token.rb +170 -0
  196. data/lib/platform_rest/user_oauth_tokens.rb +132 -0
  197. data/lib/platform_rest/version.rb +1 -1
  198. data/lib/platform_rest/webhook.rb +3 -3
  199. data/lib/platform_rest/webhooks.rb +2 -2
  200. data/lib/platform_rest.rb +2 -0
  201. data/schemas/advancedApplicationCertQuery.json +1885 -0
  202. data/schemas/advancedApplicationKeyQuery.json +763 -763
  203. data/schemas/apiToken.json +110 -1
  204. data/schemas/apiTokenPatch.json +100 -0
  205. data/schemas/apiTokenPost.json +118 -0
  206. data/schemas/apiTokens.json +120 -2
  207. data/schemas/application.json +15 -2
  208. data/schemas/applicationCertificate.json +90 -58
  209. data/schemas/applicationCertificateAuthorities.json +24 -0
  210. data/schemas/applicationCertificateAuthority.json +24 -0
  211. data/schemas/applicationCertificatePatch.json +32 -4
  212. data/schemas/applicationCertificatePost.json +28 -30
  213. data/schemas/applicationCertificates.json +90 -58
  214. data/schemas/applicationCreationByTemplateResult.json +15 -2
  215. data/schemas/applicationDashboardPost.json +183 -128
  216. data/schemas/applicationImportExecutions.json +3 -5
  217. data/schemas/applicationImportResult.json +674 -0
  218. data/schemas/applicationJobLog.json +129 -123
  219. data/schemas/applicationJobLogs.json +129 -123
  220. data/schemas/applicationKey.json +41 -41
  221. data/schemas/applicationKeyPatch.json +4 -4
  222. data/schemas/applicationKeyPost.json +36 -29
  223. data/schemas/applicationKeys.json +41 -41
  224. data/schemas/applicationSearchResult.json +10 -10
  225. data/schemas/applicationTemplates.json +9 -2
  226. data/schemas/applications.json +15 -2
  227. data/schemas/auditLog.json +2 -6
  228. data/schemas/auditLogs.json +2 -6
  229. data/schemas/authedDevice.json +3 -0
  230. data/schemas/credential.json +7 -0
  231. data/schemas/credentialLinkedResources.json +19724 -344
  232. data/schemas/credentialPatch.json +3 -0
  233. data/schemas/credentialPost.json +3 -0
  234. data/schemas/credentials.json +7 -0
  235. data/schemas/dashboard.json +203 -128
  236. data/schemas/dashboardBlockSuggestCodePost.json +19 -0
  237. data/schemas/dashboardPatch.json +183 -128
  238. data/schemas/dashboardPost.json +183 -128
  239. data/schemas/dashboardUpdateEventsResult.json +266 -0
  240. data/schemas/dashboards.json +203 -128
  241. data/schemas/dataTable.json +11 -0
  242. data/schemas/dataTableRowPatch.json +16 -0
  243. data/schemas/dataTableRowPost.json +39 -0
  244. data/schemas/dataTableRowPostResult.json +54 -0
  245. data/schemas/dataTables.json +11 -0
  246. data/schemas/device.json +259 -107
  247. data/schemas/deviceConnectionStatus.json +4 -0
  248. data/schemas/deviceLog.json +3 -0
  249. data/schemas/deviceRecipe.json +259 -108
  250. data/schemas/deviceRecipes.json +259 -108
  251. data/schemas/devices.json +287 -116
  252. data/schemas/edgeDeploymentRelease.json +4252 -39
  253. data/schemas/edgeDeployments.json +28 -0
  254. data/schemas/embeddedDeploymentRelease.json +2073 -0
  255. data/schemas/embeddedDeployments.json +25 -0
  256. data/schemas/error.json +14 -0
  257. data/schemas/event.json +4 -1
  258. data/schemas/eventPlusNewCount.json +4 -1
  259. data/schemas/events.json +4 -1
  260. data/schemas/experienceDomains.json +19 -0
  261. data/schemas/experienceEndpoint.json +19 -0
  262. data/schemas/experienceEndpoints.json +24 -0
  263. data/schemas/experienceLinkedResources.json +19728 -313
  264. data/schemas/experienceSlugs.json +19 -0
  265. data/schemas/experienceUsers.json +16 -2
  266. data/schemas/experienceVersions.json +25 -0
  267. data/schemas/experienceView.json +5 -0
  268. data/schemas/experienceViews.json +10 -0
  269. data/schemas/fileUploadPostResponse.json +92 -103
  270. data/schemas/files.json +5 -1
  271. data/schemas/flow.json +211 -46
  272. data/schemas/flowPatch.json +199 -46
  273. data/schemas/flowPost.json +199 -46
  274. data/schemas/flowStorageMetadata.json +2 -2
  275. data/schemas/flowVersion.json +450 -101
  276. data/schemas/flowVersionPost.json +199 -46
  277. data/schemas/flowVersions.json +9903 -113
  278. data/schemas/flows.json +9637 -46
  279. data/schemas/flowsImportPost.json +398 -92
  280. data/schemas/flowsImportResult.json +661 -147
  281. data/schemas/githubLogin.json +18 -0
  282. data/schemas/historicalSummaries.json +3 -2
  283. data/schemas/historicalSummary.json +3 -2
  284. data/schemas/instanceAuditLog.json +2 -6
  285. data/schemas/instanceAuditLogs.json +90 -1
  286. data/schemas/instanceCustomNode.json +41 -2
  287. data/schemas/instanceCustomNodePatch.json +59 -6
  288. data/schemas/instanceCustomNodePost.json +59 -6
  289. data/schemas/instanceCustomNodes.json +41 -2
  290. data/schemas/instanceOrg.json +4 -1
  291. data/schemas/instanceOrgInvite.json +102 -0
  292. data/schemas/instanceOrgInviteSent.json +12 -0
  293. data/schemas/instanceOrgInvites.json +145 -0
  294. data/schemas/instanceOrgMember.json +52 -0
  295. data/schemas/instanceOrgMemberPatch.json +2 -2
  296. data/schemas/instanceOrgMemberPost.json +4 -4
  297. data/schemas/instanceOrgMembers.json +105 -1
  298. data/schemas/instanceOrgPost.json +5 -5
  299. data/schemas/instanceOrgs.json +5 -2
  300. data/schemas/instanceSandbox.json +5 -1
  301. data/schemas/instanceSandboxes.json +9 -1
  302. data/schemas/integration.json +38 -39
  303. data/schemas/integrationPatch.json +8 -8
  304. data/schemas/integrationPost.json +8 -8
  305. data/schemas/integrations.json +38 -39
  306. data/schemas/jobEnqueuedResult.json +1 -1
  307. data/schemas/me.json +685 -88
  308. data/schemas/notebook.json +33 -21
  309. data/schemas/notebookExecutionLogs.json +20 -0
  310. data/schemas/notebookMinuteCounts.json +1 -1
  311. data/schemas/notebookPatch.json +29 -21
  312. data/schemas/notebookPost.json +29 -21
  313. data/schemas/notebooks.json +33 -21
  314. data/schemas/notificationRule.json +4 -0
  315. data/schemas/notificationRules.json +8 -0
  316. data/schemas/oauthClient.json +107 -0
  317. data/schemas/oauthClientPost.json +89 -0
  318. data/schemas/oauthDcrError.json +23 -0
  319. data/schemas/oauthError.json +31 -0
  320. data/schemas/org.json +16 -3
  321. data/schemas/orgInvite.json +2 -2
  322. data/schemas/orgInviteCollection.json +2 -2
  323. data/schemas/orgInvitePost.json +2 -2
  324. data/schemas/orgInvites.json +77 -82
  325. data/schemas/orgInvitesUser.json +44 -47
  326. data/schemas/orgMemberPatch.json +2 -2
  327. data/schemas/orgRoleInfo.json +2 -2
  328. data/schemas/orgs.json +16 -3
  329. data/schemas/paletteResponse.json +372 -364
  330. data/schemas/periodSummaries.json +1 -1
  331. data/schemas/recentItemList.json +226 -27
  332. data/schemas/resourceJob.json +33 -9
  333. data/schemas/resourceJobExecutionLogs.json +34 -20
  334. data/schemas/resourceJobExecutionOptions.json +1 -1
  335. data/schemas/resourceJobPatch.json +9 -9
  336. data/schemas/resourceJobPost.json +9 -9
  337. data/schemas/resourceJobs.json +33 -9
  338. data/schemas/samlResponse.json +18 -0
  339. data/schemas/tagValuesResponse.json +1 -2
  340. data/schemas/templateKeywords.json +1 -0
  341. data/schemas/timeSeriesData.json +36 -4
  342. data/schemas/userCredentials.json +18 -0
  343. data/schemas/userOauthToken.json +210 -0
  344. data/schemas/userOauthTokenPatch.json +123 -0
  345. data/schemas/userOauthTokenPost.json +197 -0
  346. data/schemas/userOauthTokens.json +251 -0
  347. data/schemas/userPost.json +18 -0
  348. data/schemas/validateContextError.json +71 -24
  349. data/schemas/validateContextSuccess.json +71 -24
  350. metadata +22 -1
@@ -36,7 +36,6 @@
36
36
  },
37
37
  "deviceName": {
38
38
  "type": "string",
39
- "minLength": 1,
40
39
  "maxLength": 255
41
40
  },
42
41
  "description": {
@@ -48,155 +47,307 @@
48
47
  "maxLength": 32767
49
48
  },
50
49
  "tags": {
51
- "type": "array",
52
- "items": {
53
- "type": "object",
54
- "properties": {
55
- "key": {
56
- "type": "string",
57
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
58
- },
59
- "value": {
60
- "type": "string",
61
- "minLength": 1,
62
- "maxLength": 255
63
- }
64
- },
65
- "required": [
66
- "key",
67
- "value"
68
- ],
69
- "additionalProperties": false
70
- },
71
- "maxItems": 100
72
- },
73
- "attributes": {
74
- "type": "array",
75
- "items": {
76
- "type": "object",
77
- "properties": {
78
- "name": {
79
- "type": "string",
80
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
81
- },
82
- "dataType": {
83
- "type": "string",
84
- "enum": [
85
- "string",
86
- "number",
87
- "gps",
88
- "boolean",
89
- "blob"
90
- ]
91
- },
92
- "contentType": {
93
- "type": "string",
94
- "maxLength": 64
95
- },
96
- "description": {
97
- "type": "string",
98
- "maxLength": 32767
99
- },
100
- "attributeTags": {
50
+ "oneOf": [
51
+ {
52
+ "type": "array",
53
+ "items": {
101
54
  "type": "object",
102
- "patternProperties": {
103
- "^[0-9a-zA-Z_-]{1,255}$": {
55
+ "properties": {
56
+ "key": {
57
+ "type": "string",
58
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
59
+ },
60
+ "value": {
104
61
  "type": "string",
105
62
  "minLength": 1,
106
63
  "maxLength": 255
107
64
  }
108
65
  },
66
+ "required": [
67
+ "key",
68
+ "value"
69
+ ],
109
70
  "additionalProperties": false
110
71
  },
111
- "system": {
72
+ "maxItems": 100
73
+ },
74
+ {
75
+ "type": "object",
76
+ "patternProperties": {
77
+ "^[0-9a-zA-Z_-]{1,255}$": {
78
+ "type": "array",
79
+ "items": {
80
+ "type": "string",
81
+ "minLength": 1,
82
+ "maxLength": 255
83
+ }
84
+ }
85
+ },
86
+ "additionalProperties": false
87
+ }
88
+ ]
89
+ },
90
+ "attributes": {
91
+ "oneOf": [
92
+ {
93
+ "type": "array",
94
+ "items": {
112
95
  "type": "object",
113
96
  "properties": {
114
- "aggregation": {
97
+ "name": {
98
+ "type": "string",
99
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
100
+ },
101
+ "dataType": {
115
102
  "type": "string",
116
103
  "enum": [
117
- "FIRST",
118
- "LAST",
119
- "COUNT",
120
- "MAX",
121
- "MIN",
122
- "MEDIAN",
123
- "MEAN",
124
- "SUM",
125
- "STD_DEV"
104
+ "string",
105
+ "number",
106
+ "gps",
107
+ "boolean",
108
+ "blob"
126
109
  ]
127
110
  },
128
- "aggregationOptions": {
129
- "type": "array",
130
- "items": {
111
+ "contentType": {
112
+ "type": "string",
113
+ "maxLength": 64
114
+ },
115
+ "description": {
116
+ "type": "string",
117
+ "maxLength": 32767
118
+ },
119
+ "attributeTags": {
120
+ "type": "object",
121
+ "patternProperties": {
122
+ "^[0-9a-zA-Z_-]{1,255}$": {
123
+ "type": "string",
124
+ "minLength": 1,
125
+ "maxLength": 255
126
+ }
127
+ },
128
+ "additionalProperties": false
129
+ },
130
+ "system": {
131
+ "type": "object",
132
+ "properties": {
133
+ "aggregation": {
134
+ "type": "string",
135
+ "enum": [
136
+ "FIRST",
137
+ "LAST",
138
+ "COUNT",
139
+ "MAX",
140
+ "MIN",
141
+ "MEDIAN",
142
+ "MEAN",
143
+ "SUM",
144
+ "STD_DEV"
145
+ ]
146
+ },
147
+ "aggregationOptions": {
148
+ "type": "array",
149
+ "items": {
150
+ "type": "object",
151
+ "additionalProperties": false
152
+ },
153
+ "maxItems": 0
154
+ },
155
+ "childAttributes": {
156
+ "type": "array",
157
+ "items": {
158
+ "type": "object",
159
+ "properties": {
160
+ "name": {
161
+ "type": "string",
162
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
163
+ },
164
+ "mode": {
165
+ "type": "string",
166
+ "enum": [
167
+ "all",
168
+ "whitelist",
169
+ "blacklist"
170
+ ]
171
+ },
172
+ "deviceIds": {
173
+ "type": "array",
174
+ "items": {
175
+ "type": "string",
176
+ "pattern": "^[A-Fa-f\\d]{24}$"
177
+ },
178
+ "maxItems": 1000
179
+ },
180
+ "deviceTags": {
181
+ "type": "array",
182
+ "items": {
183
+ "type": "object",
184
+ "properties": {
185
+ "key": {
186
+ "type": "string",
187
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
188
+ },
189
+ "value": {
190
+ "type": "string",
191
+ "minLength": 1,
192
+ "maxLength": 255
193
+ }
194
+ },
195
+ "additionalProperties": false
196
+ },
197
+ "maxItems": 100
198
+ }
199
+ },
200
+ "required": [
201
+ "name",
202
+ "mode"
203
+ ],
204
+ "additionalProperties": false
205
+ },
206
+ "maxItems": 256
207
+ }
208
+ },
209
+ "additionalProperties": false
210
+ }
211
+ },
212
+ "required": [
213
+ "name",
214
+ "dataType"
215
+ ],
216
+ "additionalProperties": false
217
+ },
218
+ "maxItems": 256
219
+ },
220
+ {
221
+ "type": "object",
222
+ "patternProperties": {
223
+ "^[0-9a-zA-Z_-]{1,255}$": {
224
+ "type": "object",
225
+ "properties": {
226
+ "name": {
227
+ "type": "string",
228
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
229
+ },
230
+ "dataType": {
231
+ "type": "string",
232
+ "enum": [
233
+ "string",
234
+ "number",
235
+ "gps",
236
+ "boolean",
237
+ "blob"
238
+ ]
239
+ },
240
+ "contentType": {
241
+ "type": "string",
242
+ "maxLength": 64
243
+ },
244
+ "description": {
245
+ "type": "string",
246
+ "maxLength": 32767
247
+ },
248
+ "attributeTags": {
131
249
  "type": "object",
250
+ "patternProperties": {
251
+ "^[0-9a-zA-Z_-]{1,255}$": {
252
+ "type": "string",
253
+ "minLength": 1,
254
+ "maxLength": 255
255
+ }
256
+ },
132
257
  "additionalProperties": false
133
258
  },
134
- "maxItems": 0
135
- },
136
- "childAttributes": {
137
- "type": "array",
138
- "items": {
259
+ "system": {
139
260
  "type": "object",
140
261
  "properties": {
141
- "name": {
142
- "type": "string",
143
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
144
- },
145
- "mode": {
262
+ "aggregation": {
146
263
  "type": "string",
147
264
  "enum": [
148
- "all",
149
- "whitelist",
150
- "blacklist"
265
+ "FIRST",
266
+ "LAST",
267
+ "COUNT",
268
+ "MAX",
269
+ "MIN",
270
+ "MEDIAN",
271
+ "MEAN",
272
+ "SUM",
273
+ "STD_DEV"
151
274
  ]
152
275
  },
153
- "deviceIds": {
276
+ "aggregationOptions": {
154
277
  "type": "array",
155
278
  "items": {
156
- "type": "string",
157
- "pattern": "^[A-Fa-f\\d]{24}$"
279
+ "type": "object",
280
+ "additionalProperties": false
158
281
  },
159
- "maxItems": 1000
282
+ "maxItems": 0
160
283
  },
161
- "deviceTags": {
284
+ "childAttributes": {
162
285
  "type": "array",
163
286
  "items": {
164
287
  "type": "object",
165
288
  "properties": {
166
- "key": {
289
+ "name": {
167
290
  "type": "string",
168
291
  "pattern": "^[0-9a-zA-Z_-]{1,255}$"
169
292
  },
170
- "value": {
293
+ "mode": {
171
294
  "type": "string",
172
- "minLength": 1,
173
- "maxLength": 255
295
+ "enum": [
296
+ "all",
297
+ "whitelist",
298
+ "blacklist"
299
+ ]
300
+ },
301
+ "deviceIds": {
302
+ "type": "array",
303
+ "items": {
304
+ "type": "string",
305
+ "pattern": "^[A-Fa-f\\d]{24}$"
306
+ },
307
+ "maxItems": 1000
308
+ },
309
+ "deviceTags": {
310
+ "type": "array",
311
+ "items": {
312
+ "type": "object",
313
+ "properties": {
314
+ "key": {
315
+ "type": "string",
316
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
317
+ },
318
+ "value": {
319
+ "type": "string",
320
+ "minLength": 1,
321
+ "maxLength": 255
322
+ }
323
+ },
324
+ "additionalProperties": false
325
+ },
326
+ "maxItems": 100
174
327
  }
175
328
  },
329
+ "required": [
330
+ "name",
331
+ "mode"
332
+ ],
176
333
  "additionalProperties": false
177
334
  },
178
- "maxItems": 100
335
+ "maxItems": 256
179
336
  }
180
337
  },
181
- "required": [
182
- "name",
183
- "mode"
184
- ],
185
338
  "additionalProperties": false
186
- },
187
- "maxItems": 256
188
- }
189
- },
190
- "additionalProperties": false
191
- }
192
- },
193
- "required": [
194
- "name",
195
- "dataType"
196
- ],
197
- "additionalProperties": false
198
- },
199
- "maxItems": 256
339
+ }
340
+ },
341
+ "required": [
342
+ "name",
343
+ "dataType"
344
+ ],
345
+ "additionalProperties": false
346
+ }
347
+ },
348
+ "additionalProperties": false
349
+ }
350
+ ]
200
351
  },
201
352
  "deviceClass": {
202
353
  "type": "string",