losant_rest 1.14.0 → 1.15.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/docs/_schemas.md +10590 -3153
  4. data/docs/devices.md +40 -0
  5. data/docs/embeddedDeployment.md +49 -0
  6. data/docs/embeddedDeployments.md +215 -0
  7. data/docs/flow.md +2 -2
  8. data/docs/flows.md +2 -2
  9. data/docs/instance.md +4 -2
  10. data/lib/losant_rest/application.rb +1 -1
  11. data/lib/losant_rest/application_api_token.rb +1 -1
  12. data/lib/losant_rest/application_api_tokens.rb +1 -1
  13. data/lib/losant_rest/application_certificate.rb +1 -1
  14. data/lib/losant_rest/application_certificate_authorities.rb +1 -1
  15. data/lib/losant_rest/application_certificate_authority.rb +1 -1
  16. data/lib/losant_rest/application_certificates.rb +1 -1
  17. data/lib/losant_rest/application_dashboard.rb +1 -1
  18. data/lib/losant_rest/application_dashboards.rb +1 -1
  19. data/lib/losant_rest/application_key.rb +1 -1
  20. data/lib/losant_rest/application_keys.rb +1 -1
  21. data/lib/losant_rest/application_template.rb +1 -1
  22. data/lib/losant_rest/application_templates.rb +1 -1
  23. data/lib/losant_rest/applications.rb +1 -1
  24. data/lib/losant_rest/audit_log.rb +1 -1
  25. data/lib/losant_rest/audit_logs.rb +1 -1
  26. data/lib/losant_rest/auth.rb +1 -1
  27. data/lib/losant_rest/client.rb +11 -3
  28. data/lib/losant_rest/dashboard.rb +1 -1
  29. data/lib/losant_rest/dashboards.rb +1 -1
  30. data/lib/losant_rest/data.rb +1 -1
  31. data/lib/losant_rest/data_table.rb +1 -1
  32. data/lib/losant_rest/data_table_row.rb +1 -1
  33. data/lib/losant_rest/data_table_rows.rb +1 -1
  34. data/lib/losant_rest/data_tables.rb +1 -1
  35. data/lib/losant_rest/device.rb +1 -1
  36. data/lib/losant_rest/device_recipe.rb +1 -1
  37. data/lib/losant_rest/device_recipes.rb +1 -1
  38. data/lib/losant_rest/devices.rb +50 -1
  39. data/lib/losant_rest/edge_deployment.rb +1 -1
  40. data/lib/losant_rest/edge_deployments.rb +1 -1
  41. data/lib/losant_rest/embedded_deployment.rb +81 -0
  42. data/lib/losant_rest/embedded_deployments.rb +280 -0
  43. data/lib/losant_rest/error.rb +1 -1
  44. data/lib/losant_rest/event.rb +1 -1
  45. data/lib/losant_rest/events.rb +1 -1
  46. data/lib/losant_rest/experience.rb +1 -1
  47. data/lib/losant_rest/experience_domain.rb +1 -1
  48. data/lib/losant_rest/experience_domains.rb +1 -1
  49. data/lib/losant_rest/experience_endpoint.rb +1 -1
  50. data/lib/losant_rest/experience_endpoints.rb +1 -1
  51. data/lib/losant_rest/experience_group.rb +1 -1
  52. data/lib/losant_rest/experience_groups.rb +1 -1
  53. data/lib/losant_rest/experience_slug.rb +1 -1
  54. data/lib/losant_rest/experience_slugs.rb +1 -1
  55. data/lib/losant_rest/experience_user.rb +1 -1
  56. data/lib/losant_rest/experience_users.rb +1 -1
  57. data/lib/losant_rest/experience_version.rb +1 -1
  58. data/lib/losant_rest/experience_versions.rb +1 -1
  59. data/lib/losant_rest/experience_view.rb +1 -1
  60. data/lib/losant_rest/experience_views.rb +1 -1
  61. data/lib/losant_rest/file.rb +1 -1
  62. data/lib/losant_rest/files.rb +1 -1
  63. data/lib/losant_rest/flow.rb +3 -3
  64. data/lib/losant_rest/flow_version.rb +1 -1
  65. data/lib/losant_rest/flow_versions.rb +1 -1
  66. data/lib/losant_rest/flows.rb +3 -3
  67. data/lib/losant_rest/instance.rb +2 -1
  68. data/lib/losant_rest/instance_api_token.rb +1 -1
  69. data/lib/losant_rest/instance_api_tokens.rb +1 -1
  70. data/lib/losant_rest/instance_member.rb +1 -1
  71. data/lib/losant_rest/instance_members.rb +1 -1
  72. data/lib/losant_rest/instance_org.rb +1 -1
  73. data/lib/losant_rest/instance_org_invite.rb +1 -1
  74. data/lib/losant_rest/instance_org_invites.rb +1 -1
  75. data/lib/losant_rest/instance_org_member.rb +1 -1
  76. data/lib/losant_rest/instance_org_members.rb +1 -1
  77. data/lib/losant_rest/instance_orgs.rb +1 -1
  78. data/lib/losant_rest/instances.rb +1 -1
  79. data/lib/losant_rest/integration.rb +1 -1
  80. data/lib/losant_rest/integrations.rb +1 -1
  81. data/lib/losant_rest/me.rb +1 -1
  82. data/lib/losant_rest/notebook.rb +1 -1
  83. data/lib/losant_rest/notebooks.rb +1 -1
  84. data/lib/losant_rest/org.rb +1 -1
  85. data/lib/losant_rest/org_invites.rb +1 -1
  86. data/lib/losant_rest/orgs.rb +1 -1
  87. data/lib/losant_rest/user_api_token.rb +1 -1
  88. data/lib/losant_rest/user_api_tokens.rb +1 -1
  89. data/lib/losant_rest/utils.rb +1 -1
  90. data/lib/losant_rest/version.rb +2 -2
  91. data/lib/losant_rest/webhook.rb +1 -1
  92. data/lib/losant_rest/webhooks.rb +1 -1
  93. data/lib/losant_rest.rb +3 -1
  94. data/schemas/apiTokenPost.json +9 -0
  95. data/schemas/application.json +32 -32
  96. data/schemas/applicationCreationByTemplateResult.json +32 -32
  97. data/schemas/applicationDashboardPost.json +8 -5
  98. data/schemas/applicationPatch.json +13 -13
  99. data/schemas/applicationPost.json +13 -13
  100. data/schemas/applicationTemplate.json +16 -16
  101. data/schemas/applicationTemplates.json +16 -16
  102. data/schemas/applications.json +32 -32
  103. data/schemas/authedDevice.json +2 -1
  104. data/schemas/dashboard.json +8 -5
  105. data/schemas/dashboardPatch.json +8 -5
  106. data/schemas/dashboardPost.json +8 -5
  107. data/schemas/dashboardSendReport.json +6 -6
  108. data/schemas/dashboards.json +8 -5
  109. data/schemas/dataTableRowsDelete.json +1 -1
  110. data/schemas/device.json +2 -1
  111. data/schemas/deviceClassFilter.json +4 -2
  112. data/schemas/deviceNamesResponse.json +36 -0
  113. data/schemas/devicePatch.json +2 -1
  114. data/schemas/devicePost.json +2 -1
  115. data/schemas/deviceRecipe.json +2 -1
  116. data/schemas/deviceRecipePatch.json +2 -1
  117. data/schemas/deviceRecipePost.json +2 -1
  118. data/schemas/deviceRecipes.json +2 -1
  119. data/schemas/devices.json +4 -2
  120. data/schemas/devicesPatch.json +4 -2
  121. data/schemas/edgeDeployment.json +4 -0
  122. data/schemas/edgeDeployments.json +4 -0
  123. data/schemas/embeddedDeployment.json +179 -0
  124. data/schemas/embeddedDeploymentExport.json +44 -0
  125. data/schemas/embeddedDeploymentRelease.json +58 -0
  126. data/schemas/embeddedDeploymentRemove.json +25 -0
  127. data/schemas/embeddedDeploymentReplace.json +29 -0
  128. data/schemas/embeddedDeployments.json +212 -0
  129. data/schemas/eventsDeleted.json +1 -1
  130. data/schemas/eventsExport.json +4 -0
  131. data/schemas/experienceEndpoint.json +6 -8
  132. data/schemas/experienceEndpointPatch.json +6 -8
  133. data/schemas/experienceEndpointPost.json +6 -8
  134. data/schemas/experienceEndpoints.json +6 -8
  135. data/schemas/experienceLinkedResources.json +1292 -167
  136. data/schemas/flow.json +391 -15
  137. data/schemas/flowPatch.json +390 -15
  138. data/schemas/flowPost.json +391 -15
  139. data/schemas/flowVersion.json +821 -71
  140. data/schemas/flowVersionPost.json +390 -15
  141. data/schemas/flowVersions.json +821 -71
  142. data/schemas/flows.json +392 -15
  143. data/schemas/flowsImportPost.json +821 -70
  144. data/schemas/flowsImportResult.json +1392 -266
  145. data/schemas/githubLogin.json +9 -0
  146. data/schemas/historicalSummary.json +87 -74
  147. data/schemas/instance.json +92 -79
  148. data/schemas/instanceMember.json +6 -1
  149. data/schemas/instanceMembers.json +6 -1
  150. data/schemas/instanceOrg.json +87 -74
  151. data/schemas/instanceOrgMember.json +6 -1
  152. data/schemas/instanceOrgPatch.json +64 -26
  153. data/schemas/instanceOrgPost.json +65 -27
  154. data/schemas/instanceOrgs.json +87 -74
  155. data/schemas/instancePatch.json +2 -2
  156. data/schemas/integration.json +1 -1
  157. data/schemas/integrationPatch.json +1 -1
  158. data/schemas/integrationPost.json +1 -1
  159. data/schemas/integrations.json +1 -1
  160. data/schemas/me.json +104 -92
  161. data/schemas/mePatch.json +0 -1
  162. data/schemas/notebook.json +2 -1
  163. data/schemas/notebookExecutionLogs.json +2 -1
  164. data/schemas/notebookPatch.json +2 -1
  165. data/schemas/notebookPost.json +2 -1
  166. data/schemas/notebooks.json +2 -1
  167. data/schemas/org.json +115 -97
  168. data/schemas/orgs.json +115 -97
  169. data/schemas/userCredentials.json +9 -0
  170. data/schemas/userPost.json +9 -1
  171. metadata +17 -6
@@ -83,7 +83,7 @@
83
83
  },
84
84
  "reportConfigs": {
85
85
  "type": "array",
86
- "max": 10,
86
+ "maxItems": 10,
87
87
  "items": {
88
88
  "type": "object",
89
89
  "properties": {
@@ -97,8 +97,8 @@
97
97
  },
98
98
  "toEmail": {
99
99
  "type": "array",
100
- "min": 1,
101
- "max": 10,
100
+ "minItems": 1,
101
+ "maxItems": 10,
102
102
  "items": {
103
103
  "type": "string",
104
104
  "format": "email",
@@ -3164,8 +3164,8 @@
3164
3164
  },
3165
3165
  "length": {
3166
3166
  "type": "integer",
3167
- "min": 1,
3168
- "max": 10
3167
+ "minimum": 1,
3168
+ "maximum": 10
3169
3169
  },
3170
3170
  "orientation": {
3171
3171
  "type": "string",
@@ -5380,6 +5380,9 @@
5380
5380
  "includeEdge": {
5381
5381
  "type": "boolean"
5382
5382
  },
5383
+ "includeEmbedded": {
5384
+ "type": "boolean"
5385
+ },
5383
5386
  "includeExperience": {
5384
5387
  "type": "boolean"
5385
5388
  },
@@ -3,7 +3,7 @@
3
3
  "type": "object",
4
4
  "properties": {
5
5
  "removed": {
6
- "type": "Number"
6
+ "type": "number"
7
7
  }
8
8
  }
9
9
  }
data/schemas/device.json CHANGED
@@ -191,7 +191,8 @@
191
191
  "peripheral",
192
192
  "floating",
193
193
  "edgeCompute",
194
- "system"
194
+ "system",
195
+ "embedded"
195
196
  ]
196
197
  },
197
198
  "gatewayId": {
@@ -9,7 +9,8 @@
9
9
  "peripheral",
10
10
  "floating",
11
11
  "edgeCompute",
12
- "system"
12
+ "system",
13
+ "embedded"
13
14
  ]
14
15
  },
15
16
  {
@@ -22,7 +23,8 @@
22
23
  "peripheral",
23
24
  "floating",
24
25
  "edgeCompute",
25
- "system"
26
+ "system",
27
+ "embedded"
26
28
  ]
27
29
  }
28
30
  }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "deviceSummary": {
6
+ "type": "array",
7
+ "items": {
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "type": "string",
12
+ "pattern": "^[A-Fa-f\\d]{24}$"
13
+ },
14
+ "deviceClass": {
15
+ "type": "string",
16
+ "enum": [
17
+ "standalone",
18
+ "gateway",
19
+ "peripheral",
20
+ "floating",
21
+ "edgeCompute",
22
+ "system",
23
+ "embedded"
24
+ ]
25
+ },
26
+ "name": {
27
+ "type": "string",
28
+ "minLength": 1,
29
+ "maxLength": 255
30
+ }
31
+ }
32
+ },
33
+ "maxItems": 1000
34
+ }
35
+ }
36
+ }
@@ -171,7 +171,8 @@
171
171
  "peripheral",
172
172
  "floating",
173
173
  "edgeCompute",
174
- "system"
174
+ "system",
175
+ "embedded"
175
176
  ]
176
177
  },
177
178
  "gatewayId": {
@@ -171,7 +171,8 @@
171
171
  "peripheral",
172
172
  "floating",
173
173
  "edgeCompute",
174
- "system"
174
+ "system",
175
+ "embedded"
175
176
  ]
176
177
  },
177
178
  "gatewayId": {
@@ -200,7 +200,8 @@
200
200
  "peripheral",
201
201
  "floating",
202
202
  "edgeCompute",
203
- "system"
203
+ "system",
204
+ "embedded"
204
205
  ]
205
206
  },
206
207
  "gatewayId": {
@@ -180,7 +180,8 @@
180
180
  "peripheral",
181
181
  "floating",
182
182
  "edgeCompute",
183
- "system"
183
+ "system",
184
+ "embedded"
184
185
  ]
185
186
  },
186
187
  "gatewayId": {
@@ -180,7 +180,8 @@
180
180
  "peripheral",
181
181
  "floating",
182
182
  "edgeCompute",
183
- "system"
183
+ "system",
184
+ "embedded"
184
185
  ]
185
186
  },
186
187
  "gatewayId": {
@@ -207,7 +207,8 @@
207
207
  "peripheral",
208
208
  "floating",
209
209
  "edgeCompute",
210
- "system"
210
+ "system",
211
+ "embedded"
211
212
  ]
212
213
  },
213
214
  "gatewayId": {
data/schemas/devices.json CHANGED
@@ -198,7 +198,8 @@
198
198
  "peripheral",
199
199
  "floating",
200
200
  "edgeCompute",
201
- "system"
201
+ "system",
202
+ "embedded"
202
203
  ]
203
204
  },
204
205
  "gatewayId": {
@@ -290,7 +291,8 @@
290
291
  "peripheral",
291
292
  "floating",
292
293
  "edgeCompute",
293
- "system"
294
+ "system",
295
+ "embedded"
294
296
  ]
295
297
  },
296
298
  "tagFilter": {
@@ -176,7 +176,8 @@
176
176
  "peripheral",
177
177
  "floating",
178
178
  "edgeCompute",
179
- "system"
179
+ "system",
180
+ "embedded"
180
181
  ]
181
182
  },
182
183
  "gatewayId": {
@@ -1597,7 +1598,8 @@
1597
1598
  "peripheral",
1598
1599
  "floating",
1599
1600
  "edgeCompute",
1600
- "system"
1601
+ "system",
1602
+ "embedded"
1601
1603
  ]
1602
1604
  }
1603
1605
  },
@@ -48,6 +48,10 @@
48
48
  "minLength": 1,
49
49
  "maxLength": 255
50
50
  },
51
+ "fileName": {
52
+ "type": "string",
53
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
54
+ },
51
55
  "creationDate": {
52
56
  "type": "string",
53
57
  "format": "date-time"
@@ -55,6 +55,10 @@
55
55
  "minLength": 1,
56
56
  "maxLength": 255
57
57
  },
58
+ "fileName": {
59
+ "type": "string",
60
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
61
+ },
58
62
  "creationDate": {
59
63
  "type": "string",
60
64
  "format": "date-time"
@@ -0,0 +1,179 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "pattern": "^[A-Fa-f\\d]{24}$"
8
+ },
9
+ "embeddedDeploymentId": {
10
+ "type": "string",
11
+ "pattern": "^[A-Fa-f\\d]{24}$"
12
+ },
13
+ "applicationId": {
14
+ "type": "string",
15
+ "pattern": "^[A-Fa-f\\d]{24}$"
16
+ },
17
+ "creationDate": {
18
+ "type": "string",
19
+ "format": "date-time"
20
+ },
21
+ "lastUpdated": {
22
+ "type": "string",
23
+ "format": "date-time"
24
+ },
25
+ "deviceId": {
26
+ "type": "string",
27
+ "pattern": "^[A-Fa-f\\d]{24}$"
28
+ },
29
+ "deviceName": {
30
+ "type": "string",
31
+ "minLength": 1,
32
+ "maxLength": 255
33
+ },
34
+ "deviceConnectionInfo": {
35
+ "type": "object",
36
+ "properties": {
37
+ "time": {
38
+ "type": "string",
39
+ "format": "date-time"
40
+ },
41
+ "connected": {
42
+ "enum": [
43
+ 1,
44
+ 0,
45
+ null
46
+ ]
47
+ }
48
+ }
49
+ },
50
+ "flows": {
51
+ "type": "object",
52
+ "patternProperties": {
53
+ "^[A-Fa-f\\d]{24}$": {
54
+ "type": "object",
55
+ "properties": {
56
+ "flowName": {
57
+ "type": "string",
58
+ "minLength": 1,
59
+ "maxLength": 255
60
+ },
61
+ "currentVersion": {
62
+ "type": [
63
+ "string",
64
+ "null"
65
+ ],
66
+ "minLength": 1,
67
+ "maxLength": 255
68
+ },
69
+ "desiredVersion": {
70
+ "type": [
71
+ "string",
72
+ "null"
73
+ ],
74
+ "minLength": 1,
75
+ "maxLength": 255
76
+ }
77
+ }
78
+ }
79
+ },
80
+ "additionalProperties": false
81
+ },
82
+ "currentBundleVersion": {
83
+ "type": [
84
+ "string",
85
+ "null"
86
+ ],
87
+ "minLength": 1,
88
+ "maxLength": 255
89
+ },
90
+ "desiredBundleVersion": {
91
+ "type": [
92
+ "string",
93
+ "null"
94
+ ],
95
+ "minLength": 1,
96
+ "maxLength": 255
97
+ },
98
+ "unknownBundle": {
99
+ "type": "boolean"
100
+ },
101
+ "logs": {
102
+ "type": "array",
103
+ "items": {
104
+ "type": "object",
105
+ "properties": {
106
+ "sourceType": {
107
+ "type": "string",
108
+ "enum": [
109
+ "flow",
110
+ "user",
111
+ "device",
112
+ "apiToken",
113
+ "notebook"
114
+ ]
115
+ },
116
+ "sourceId": {
117
+ "type": "string",
118
+ "pattern": "^[A-Fa-f\\d]{24}$"
119
+ },
120
+ "date": {
121
+ "type": "string",
122
+ "format": "date-time"
123
+ },
124
+ "changeType": {
125
+ "type": "string",
126
+ "enum": [
127
+ "current",
128
+ "desired"
129
+ ]
130
+ },
131
+ "updateType": {
132
+ "type": "string",
133
+ "enum": [
134
+ "newFlow",
135
+ "replaceFlow",
136
+ "removeFlow",
137
+ "clear",
138
+ "globals",
139
+ "device",
140
+ "unknownBundle",
141
+ "knownBundle"
142
+ ]
143
+ },
144
+ "updateFlowId": {
145
+ "type": "string",
146
+ "pattern": "^[A-Fa-f\\d]{24}$"
147
+ },
148
+ "desiredVersion": {
149
+ "type": [
150
+ "string",
151
+ "null"
152
+ ],
153
+ "minLength": 1,
154
+ "maxLength": 255
155
+ },
156
+ "newBundle": {
157
+ "type": [
158
+ "string",
159
+ "null"
160
+ ],
161
+ "minLength": 1,
162
+ "maxLength": 255
163
+ },
164
+ "attemptedBundle": {
165
+ "type": [
166
+ "string",
167
+ "null"
168
+ ],
169
+ "minLength": 1,
170
+ "maxLength": 255
171
+ },
172
+ "error": {
173
+ "type": "string"
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "email": {
6
+ "type": "string",
7
+ "format": "email",
8
+ "maxLength": 1024
9
+ },
10
+ "embeddedDeploymentId": {
11
+ "type": "string",
12
+ "pattern": "^[A-Fa-f\\d]{24}$"
13
+ },
14
+ "deviceId": {
15
+ "type": "string",
16
+ "pattern": "^[A-Fa-f\\d]{24}$"
17
+ },
18
+ "traceLevel": {
19
+ "enum": [
20
+ 0,
21
+ 1,
22
+ 2
23
+ ]
24
+ },
25
+ "disableDebugMessage": {
26
+ "type": "boolean"
27
+ },
28
+ "stackSize": {
29
+ "type": "integer",
30
+ "minimum": 1600,
31
+ "maximum": 2147483648
32
+ },
33
+ "debugSymbols": {
34
+ "type": "boolean"
35
+ },
36
+ "exportMemory": {
37
+ "type": "boolean"
38
+ },
39
+ "gzip": {
40
+ "type": "boolean"
41
+ }
42
+ },
43
+ "additionalProperties": false
44
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "flowId": {
6
+ "type": "string",
7
+ "pattern": "^[A-Fa-f\\d]{24}$"
8
+ },
9
+ "version": {
10
+ "type": [
11
+ "string",
12
+ "null"
13
+ ],
14
+ "minLength": 1,
15
+ "maxLength": 255
16
+ },
17
+ "deviceIds": {
18
+ "type": "array",
19
+ "items": {
20
+ "type": "string",
21
+ "pattern": "^[A-Fa-f\\d]{24}$"
22
+ },
23
+ "maxItems": 1000
24
+ },
25
+ "deviceTags": {
26
+ "type": "array",
27
+ "items": {
28
+ "type": "object",
29
+ "properties": {
30
+ "key": {
31
+ "type": "string",
32
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
33
+ },
34
+ "value": {
35
+ "type": "string",
36
+ "minLength": 1,
37
+ "maxLength": 255
38
+ }
39
+ },
40
+ "additionalProperties": false
41
+ },
42
+ "maxItems": 100
43
+ },
44
+ "releaseTag": {
45
+ "type": [
46
+ "string",
47
+ "null"
48
+ ],
49
+ "minLength": 1,
50
+ "maxLength": 255
51
+ }
52
+ },
53
+ "additionalProperties": false,
54
+ "required": [
55
+ "flowId",
56
+ "version"
57
+ ]
58
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "flowId": {
6
+ "type": [
7
+ "string",
8
+ "null"
9
+ ],
10
+ "pattern": "^[A-Fa-f\\d]{24}$"
11
+ },
12
+ "deviceId": {
13
+ "type": [
14
+ "string",
15
+ "null"
16
+ ],
17
+ "pattern": "^[A-Fa-f\\d]{24}$"
18
+ }
19
+ },
20
+ "additionalProperties": false,
21
+ "required": [
22
+ "flowId",
23
+ "deviceId"
24
+ ]
25
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "flowId": {
6
+ "type": "string",
7
+ "pattern": "^[A-Fa-f\\d]{24}$"
8
+ },
9
+ "oldVersion": {
10
+ "type": "string",
11
+ "minLength": 1,
12
+ "maxLength": 255
13
+ },
14
+ "newVersion": {
15
+ "type": [
16
+ "string",
17
+ "null"
18
+ ],
19
+ "minLength": 1,
20
+ "maxLength": 255
21
+ }
22
+ },
23
+ "additionalProperties": false,
24
+ "required": [
25
+ "flowId",
26
+ "oldVersion",
27
+ "newVersion"
28
+ ]
29
+ }