losant_rest 1.9.1 → 1.10.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE +1 -1
  3. data/README.md +1 -1
  4. data/docs/_schemas.md +41608 -19945
  5. data/docs/application.md +168 -4
  6. data/docs/applicationTemplates.md +50 -0
  7. data/docs/applications.md +46 -0
  8. data/docs/auth.md +72 -0
  9. data/docs/device.md +1 -0
  10. data/docs/devices.md +89 -2
  11. data/docs/experienceEndpoint.md +43 -0
  12. data/docs/experienceEndpoints.md +1 -1
  13. data/docs/experienceView.md +43 -0
  14. data/lib/losant_rest.rb +2 -1
  15. data/lib/losant_rest/application.rb +144 -5
  16. data/lib/losant_rest/application_api_token.rb +1 -1
  17. data/lib/losant_rest/application_api_tokens.rb +1 -1
  18. data/lib/losant_rest/application_certificate.rb +1 -1
  19. data/lib/losant_rest/application_certificate_authorities.rb +1 -1
  20. data/lib/losant_rest/application_certificate_authority.rb +1 -1
  21. data/lib/losant_rest/application_certificates.rb +1 -1
  22. data/lib/losant_rest/application_key.rb +1 -1
  23. data/lib/losant_rest/application_keys.rb +1 -1
  24. data/lib/losant_rest/application_templates.rb +88 -0
  25. data/lib/losant_rest/applications.rb +1 -1
  26. data/lib/losant_rest/audit_log.rb +1 -1
  27. data/lib/losant_rest/audit_logs.rb +1 -1
  28. data/lib/losant_rest/auth.rb +85 -1
  29. data/lib/losant_rest/client.rb +7 -3
  30. data/lib/losant_rest/dashboard.rb +1 -1
  31. data/lib/losant_rest/dashboards.rb +1 -1
  32. data/lib/losant_rest/data.rb +1 -1
  33. data/lib/losant_rest/data_table.rb +1 -1
  34. data/lib/losant_rest/data_table_row.rb +1 -1
  35. data/lib/losant_rest/data_table_rows.rb +1 -1
  36. data/lib/losant_rest/data_tables.rb +1 -1
  37. data/lib/losant_rest/device.rb +3 -1
  38. data/lib/losant_rest/device_recipe.rb +1 -1
  39. data/lib/losant_rest/device_recipes.rb +1 -1
  40. data/lib/losant_rest/devices.rb +105 -3
  41. data/lib/losant_rest/edge_deployments.rb +1 -1
  42. data/lib/losant_rest/error.rb +1 -1
  43. data/lib/losant_rest/event.rb +1 -1
  44. data/lib/losant_rest/events.rb +1 -1
  45. data/lib/losant_rest/experience.rb +1 -1
  46. data/lib/losant_rest/experience_domain.rb +1 -1
  47. data/lib/losant_rest/experience_domains.rb +1 -1
  48. data/lib/losant_rest/experience_endpoint.rb +51 -1
  49. data/lib/losant_rest/experience_endpoints.rb +1 -1
  50. data/lib/losant_rest/experience_group.rb +1 -1
  51. data/lib/losant_rest/experience_groups.rb +1 -1
  52. data/lib/losant_rest/experience_slug.rb +1 -1
  53. data/lib/losant_rest/experience_slugs.rb +1 -1
  54. data/lib/losant_rest/experience_user.rb +1 -1
  55. data/lib/losant_rest/experience_users.rb +1 -1
  56. data/lib/losant_rest/experience_version.rb +1 -1
  57. data/lib/losant_rest/experience_versions.rb +1 -1
  58. data/lib/losant_rest/experience_view.rb +51 -1
  59. data/lib/losant_rest/experience_views.rb +1 -1
  60. data/lib/losant_rest/file.rb +1 -1
  61. data/lib/losant_rest/files.rb +1 -1
  62. data/lib/losant_rest/flow.rb +1 -1
  63. data/lib/losant_rest/flow_version.rb +1 -1
  64. data/lib/losant_rest/flow_versions.rb +1 -1
  65. data/lib/losant_rest/flows.rb +1 -1
  66. data/lib/losant_rest/integration.rb +1 -1
  67. data/lib/losant_rest/integrations.rb +1 -1
  68. data/lib/losant_rest/me.rb +1 -1
  69. data/lib/losant_rest/notebook.rb +1 -1
  70. data/lib/losant_rest/notebooks.rb +1 -1
  71. data/lib/losant_rest/org.rb +1 -1
  72. data/lib/losant_rest/org_invites.rb +1 -1
  73. data/lib/losant_rest/orgs.rb +1 -1
  74. data/lib/losant_rest/utils.rb +1 -1
  75. data/lib/losant_rest/version.rb +2 -2
  76. data/lib/losant_rest/webhook.rb +1 -1
  77. data/lib/losant_rest/webhooks.rb +1 -1
  78. data/schemas/advancedDeviceQuery.json +1018 -0
  79. data/schemas/advancedEventQuery.json +382 -13
  80. data/schemas/advancedQuery.json +37 -3
  81. data/schemas/application.json +10 -5
  82. data/schemas/applicationApiTokenPost.json +6 -0
  83. data/schemas/applicationCertificate.json +34 -0
  84. data/schemas/applicationCertificatePatch.json +34 -0
  85. data/schemas/applicationCertificatePost.json +34 -0
  86. data/schemas/applicationCertificates.json +34 -0
  87. data/schemas/{applicationCloneResult.json → applicationCreationByTemplateResult.json} +21 -8
  88. data/schemas/applicationExportPost.json +24 -0
  89. data/schemas/applicationExportResult.json +10 -0
  90. data/schemas/applicationKey.json +34 -0
  91. data/schemas/applicationKeyPatch.json +34 -0
  92. data/schemas/applicationKeyPost.json +34 -0
  93. data/schemas/applicationKeyPostResponse.json +34 -0
  94. data/schemas/applicationKeys.json +34 -0
  95. data/schemas/applicationPatch.json +10 -5
  96. data/schemas/applicationPost.json +14 -5
  97. data/schemas/applicationReadme.json +29 -0
  98. data/schemas/applicationReadmePatch.json +11 -0
  99. data/schemas/applicationTemplate.json +99 -0
  100. data/schemas/applicationTemplates.json +140 -0
  101. data/schemas/applications.json +10 -5
  102. data/schemas/authedDevice.json +34 -0
  103. data/schemas/dashboard.json +1228 -144
  104. data/schemas/dashboardPatch.json +1228 -144
  105. data/schemas/dashboardPost.json +1228 -144
  106. data/schemas/dashboards.json +1228 -144
  107. data/schemas/dataExport.json +11 -0
  108. data/schemas/dataTableRows.json +3 -0
  109. data/schemas/dataTableRowsExport.json +37 -3
  110. data/schemas/device.json +16 -3
  111. data/schemas/devicePatch.json +16 -3
  112. data/schemas/devicePost.json +16 -3
  113. data/schemas/deviceRecipe.json +16 -3
  114. data/schemas/deviceRecipePatch.json +16 -3
  115. data/schemas/deviceRecipePost.json +16 -3
  116. data/schemas/deviceRecipes.json +16 -3
  117. data/schemas/devices.json +19 -3
  118. data/schemas/devicesDataRemoved.json +12 -0
  119. data/schemas/devicesDeletePost.json +1034 -0
  120. data/schemas/devicesDeleted.json +12 -0
  121. data/schemas/devicesExportPost.json +1035 -0
  122. data/schemas/devicesPatch.json +1773 -7
  123. data/schemas/devicesRemoveDataPost.json +1056 -0
  124. data/schemas/devicesUpdated.json +18 -0
  125. data/schemas/events.json +1 -816
  126. data/schemas/eventsExport.json +382 -13
  127. data/schemas/experienceGroup.json +7 -0
  128. data/schemas/experienceGroupPatch.json +7 -0
  129. data/schemas/experienceGroupPost.json +7 -0
  130. data/schemas/experienceGroups.json +7 -0
  131. data/schemas/experienceLinkedResources.json +6659 -0
  132. data/schemas/flow.json +103 -1
  133. data/schemas/flowPatch.json +103 -1
  134. data/schemas/flowPost.json +103 -1
  135. data/schemas/flowVersion.json +206 -2
  136. data/schemas/flowVersionPost.json +103 -1
  137. data/schemas/flowVersions.json +206 -2
  138. data/schemas/flows.json +103 -1
  139. data/schemas/flowsImportPost.json +206 -2
  140. data/schemas/flowsImportResult.json +309 -3
  141. data/schemas/githubLogin.json +9 -0
  142. data/schemas/integration.json +4 -4
  143. data/schemas/integrationPatch.json +4 -4
  144. data/schemas/integrationPost.json +4 -4
  145. data/schemas/integrations.json +4 -4
  146. data/schemas/{applicationCloneEnqueued.json → jobEnqueuedResult.json} +0 -0
  147. data/schemas/me.json +3 -0
  148. data/schemas/multiDeviceCommand.json +1019 -0
  149. data/schemas/notebook.json +207 -35
  150. data/schemas/notebookDataExportOptions.json +4 -0
  151. data/schemas/notebookExecutionLogs.json +4 -0
  152. data/schemas/notebookExecutionOptions.json +4 -0
  153. data/schemas/notebookPatch.json +207 -35
  154. data/schemas/notebookPost.json +207 -35
  155. data/schemas/notebooks.json +207 -35
  156. data/schemas/org.json +8 -0
  157. data/schemas/orgPatch.json +9 -0
  158. data/schemas/orgs.json +8 -0
  159. data/schemas/samlResponse.json +21 -0
  160. data/schemas/ssoRequest.json +20 -0
  161. data/schemas/timeSeriesData.json +91 -12
  162. data/schemas/timeSeriesQuery.json +21 -12
  163. data/schemas/userCredentials.json +9 -0
  164. data/schemas/userPost.json +9 -0
  165. data/schemas/{validationCloneErrors.json → validationErrors.json} +9 -2
  166. metadata +24 -7
@@ -26,17 +26,38 @@
26
26
  ]
27
27
  },
28
28
  "fileName": {
29
- "type": "string",
30
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
29
+ "oneOf": [
30
+ {
31
+ "type": "string",
32
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
33
+ },
34
+ {
35
+ "type": "string",
36
+ "minLength": 4,
37
+ "maxLength": 255,
38
+ "pattern": ".*{{.+}}.*"
39
+ }
40
+ ]
31
41
  },
32
42
  "deviceTags": {
33
43
  "type": "array",
44
+ "maxItems": 100,
34
45
  "items": {
35
46
  "type": "object",
36
47
  "properties": {
37
48
  "key": {
38
- "type": "string",
39
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
49
+ "oneOf": [
50
+ {
51
+ "type": "string",
52
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
53
+ },
54
+ {
55
+ "type": "string",
56
+ "minLength": 4,
57
+ "maxLength": 255,
58
+ "pattern": ".*{{.+}}.*"
59
+ }
60
+ ]
40
61
  },
41
62
  "value": {
42
63
  "type": "string",
@@ -45,16 +66,29 @@
45
66
  }
46
67
  },
47
68
  "additionalProperties": false
48
- },
49
- "maxItems": 100
69
+ }
50
70
  },
51
71
  "deviceIds": {
52
72
  "type": "array",
73
+ "maxItems": 100,
53
74
  "items": {
54
- "type": "string",
55
- "pattern": "^[A-Fa-f\\d]{24}$"
56
- },
57
- "maxItems": 1000
75
+ "oneOf": [
76
+ {
77
+ "type": "string",
78
+ "pattern": "^[A-Fa-f\\d]{24}$"
79
+ },
80
+ {
81
+ "type": "string",
82
+ "minLength": 4,
83
+ "maxLength": 255,
84
+ "pattern": ".*{{.+}}.*"
85
+ }
86
+ ]
87
+ }
88
+ },
89
+ "queryJson": {
90
+ "type": "string",
91
+ "maxLength": 8192
58
92
  },
59
93
  "attributes": {
60
94
  "type": "array",
@@ -89,17 +123,38 @@
89
123
  ]
90
124
  },
91
125
  "fileName": {
92
- "type": "string",
93
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
126
+ "oneOf": [
127
+ {
128
+ "type": "string",
129
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
130
+ },
131
+ {
132
+ "type": "string",
133
+ "minLength": 4,
134
+ "maxLength": 255,
135
+ "pattern": ".*{{.+}}.*"
136
+ }
137
+ ]
94
138
  },
95
139
  "deviceTags": {
96
140
  "type": "array",
141
+ "maxItems": 100,
97
142
  "items": {
98
143
  "type": "object",
99
144
  "properties": {
100
145
  "key": {
101
- "type": "string",
102
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
146
+ "oneOf": [
147
+ {
148
+ "type": "string",
149
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
150
+ },
151
+ {
152
+ "type": "string",
153
+ "minLength": 4,
154
+ "maxLength": 255,
155
+ "pattern": ".*{{.+}}.*"
156
+ }
157
+ ]
103
158
  },
104
159
  "value": {
105
160
  "type": "string",
@@ -108,16 +163,29 @@
108
163
  }
109
164
  },
110
165
  "additionalProperties": false
111
- },
112
- "maxItems": 100
166
+ }
113
167
  },
114
168
  "deviceIds": {
115
169
  "type": "array",
170
+ "maxItems": 100,
116
171
  "items": {
117
- "type": "string",
118
- "pattern": "^[A-Fa-f\\d]{24}$"
119
- },
120
- "maxItems": 1000
172
+ "oneOf": [
173
+ {
174
+ "type": "string",
175
+ "pattern": "^[A-Fa-f\\d]{24}$"
176
+ },
177
+ {
178
+ "type": "string",
179
+ "minLength": 4,
180
+ "maxLength": 255,
181
+ "pattern": ".*{{.+}}.*"
182
+ }
183
+ ]
184
+ }
185
+ },
186
+ "queryJson": {
187
+ "type": "string",
188
+ "maxLength": 8192
121
189
  }
122
190
  },
123
191
  "required": [
@@ -136,16 +204,36 @@
136
204
  ]
137
205
  },
138
206
  "fileName": {
139
- "type": "string",
140
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
207
+ "oneOf": [
208
+ {
209
+ "type": "string",
210
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
211
+ },
212
+ {
213
+ "type": "string",
214
+ "minLength": 4,
215
+ "maxLength": 255,
216
+ "pattern": ".*{{.+}}.*"
217
+ }
218
+ ]
141
219
  },
142
220
  "dataTableId": {
143
- "type": "string",
144
- "pattern": "^[A-Fa-f\\d]{24}$"
221
+ "oneOf": [
222
+ {
223
+ "type": "string",
224
+ "pattern": "^[A-Fa-f\\d]{24}$"
225
+ },
226
+ {
227
+ "type": "string",
228
+ "minLength": 4,
229
+ "maxLength": 255,
230
+ "pattern": ".*{{.+}}.*"
231
+ }
232
+ ]
145
233
  },
146
234
  "queryJson": {
147
235
  "type": "string",
148
- "maxLength": 32767
236
+ "maxLength": 8192
149
237
  }
150
238
  },
151
239
  "required": [
@@ -161,12 +249,56 @@
161
249
  "inputType": {
162
250
  "type": "string",
163
251
  "enum": [
164
- "externalUrl"
252
+ "eventData"
165
253
  ]
166
254
  },
167
255
  "fileName": {
256
+ "oneOf": [
257
+ {
258
+ "type": "string",
259
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
260
+ },
261
+ {
262
+ "type": "string",
263
+ "minLength": 4,
264
+ "maxLength": 255,
265
+ "pattern": ".*{{.+}}.*"
266
+ }
267
+ ]
268
+ },
269
+ "queryJson": {
168
270
  "type": "string",
169
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
271
+ "maxLength": 8192
272
+ }
273
+ },
274
+ "required": [
275
+ "inputType",
276
+ "fileName"
277
+ ],
278
+ "additionalProperties": false
279
+ },
280
+ {
281
+ "type": "object",
282
+ "properties": {
283
+ "inputType": {
284
+ "type": "string",
285
+ "enum": [
286
+ "externalUrl"
287
+ ]
288
+ },
289
+ "fileName": {
290
+ "oneOf": [
291
+ {
292
+ "type": "string",
293
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
294
+ },
295
+ {
296
+ "type": "string",
297
+ "minLength": 4,
298
+ "maxLength": 255,
299
+ "pattern": ".*{{.+}}.*"
300
+ }
301
+ ]
170
302
  },
171
303
  "sourceUrl": {
172
304
  "type": "string",
@@ -199,12 +331,32 @@
199
331
  ]
200
332
  },
201
333
  "fileName": {
202
- "type": "string",
203
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
334
+ "oneOf": [
335
+ {
336
+ "type": "string",
337
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
338
+ },
339
+ {
340
+ "type": "string",
341
+ "minLength": 4,
342
+ "maxLength": 255,
343
+ "pattern": ".*{{.+}}.*"
344
+ }
345
+ ]
204
346
  },
205
347
  "dataTableId": {
206
- "type": "string",
207
- "pattern": "^[A-Fa-f\\d]{24}$"
348
+ "oneOf": [
349
+ {
350
+ "type": "string",
351
+ "pattern": "^[A-Fa-f\\d]{24}$"
352
+ },
353
+ {
354
+ "type": "string",
355
+ "minLength": 4,
356
+ "maxLength": 255,
357
+ "pattern": ".*{{.+}}.*"
358
+ }
359
+ ]
208
360
  },
209
361
  "createMissingColumns": {
210
362
  "type": "boolean"
@@ -230,8 +382,18 @@
230
382
  ]
231
383
  },
232
384
  "fileName": {
233
- "type": "string",
234
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
385
+ "oneOf": [
386
+ {
387
+ "type": "string",
388
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
389
+ },
390
+ {
391
+ "type": "string",
392
+ "minLength": 4,
393
+ "maxLength": 255,
394
+ "pattern": ".*{{.+}}.*"
395
+ }
396
+ ]
235
397
  },
236
398
  "destinationDirectoryTemplate": {
237
399
  "type": "string",
@@ -261,8 +423,18 @@
261
423
  ]
262
424
  },
263
425
  "directoryName": {
264
- "type": "string",
265
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
426
+ "oneOf": [
427
+ {
428
+ "type": "string",
429
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
430
+ },
431
+ {
432
+ "type": "string",
433
+ "minLength": 4,
434
+ "maxLength": 255,
435
+ "pattern": ".*{{.+}}.*"
436
+ }
437
+ ]
266
438
  },
267
439
  "destinationDirectoryTemplate": {
268
440
  "type": "string",
@@ -61,17 +61,38 @@
61
61
  ]
62
62
  },
63
63
  "fileName": {
64
- "type": "string",
65
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
64
+ "oneOf": [
65
+ {
66
+ "type": "string",
67
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
68
+ },
69
+ {
70
+ "type": "string",
71
+ "minLength": 4,
72
+ "maxLength": 255,
73
+ "pattern": ".*{{.+}}.*"
74
+ }
75
+ ]
66
76
  },
67
77
  "deviceTags": {
68
78
  "type": "array",
79
+ "maxItems": 100,
69
80
  "items": {
70
81
  "type": "object",
71
82
  "properties": {
72
83
  "key": {
73
- "type": "string",
74
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
84
+ "oneOf": [
85
+ {
86
+ "type": "string",
87
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
88
+ },
89
+ {
90
+ "type": "string",
91
+ "minLength": 4,
92
+ "maxLength": 255,
93
+ "pattern": ".*{{.+}}.*"
94
+ }
95
+ ]
75
96
  },
76
97
  "value": {
77
98
  "type": "string",
@@ -80,16 +101,29 @@
80
101
  }
81
102
  },
82
103
  "additionalProperties": false
83
- },
84
- "maxItems": 100
104
+ }
85
105
  },
86
106
  "deviceIds": {
87
107
  "type": "array",
108
+ "maxItems": 100,
88
109
  "items": {
89
- "type": "string",
90
- "pattern": "^[A-Fa-f\\d]{24}$"
91
- },
92
- "maxItems": 1000
110
+ "oneOf": [
111
+ {
112
+ "type": "string",
113
+ "pattern": "^[A-Fa-f\\d]{24}$"
114
+ },
115
+ {
116
+ "type": "string",
117
+ "minLength": 4,
118
+ "maxLength": 255,
119
+ "pattern": ".*{{.+}}.*"
120
+ }
121
+ ]
122
+ }
123
+ },
124
+ "queryJson": {
125
+ "type": "string",
126
+ "maxLength": 8192
93
127
  },
94
128
  "attributes": {
95
129
  "type": "array",
@@ -124,17 +158,38 @@
124
158
  ]
125
159
  },
126
160
  "fileName": {
127
- "type": "string",
128
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
161
+ "oneOf": [
162
+ {
163
+ "type": "string",
164
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
165
+ },
166
+ {
167
+ "type": "string",
168
+ "minLength": 4,
169
+ "maxLength": 255,
170
+ "pattern": ".*{{.+}}.*"
171
+ }
172
+ ]
129
173
  },
130
174
  "deviceTags": {
131
175
  "type": "array",
176
+ "maxItems": 100,
132
177
  "items": {
133
178
  "type": "object",
134
179
  "properties": {
135
180
  "key": {
136
- "type": "string",
137
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
181
+ "oneOf": [
182
+ {
183
+ "type": "string",
184
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
185
+ },
186
+ {
187
+ "type": "string",
188
+ "minLength": 4,
189
+ "maxLength": 255,
190
+ "pattern": ".*{{.+}}.*"
191
+ }
192
+ ]
138
193
  },
139
194
  "value": {
140
195
  "type": "string",
@@ -143,16 +198,29 @@
143
198
  }
144
199
  },
145
200
  "additionalProperties": false
146
- },
147
- "maxItems": 100
201
+ }
148
202
  },
149
203
  "deviceIds": {
150
204
  "type": "array",
205
+ "maxItems": 100,
151
206
  "items": {
152
- "type": "string",
153
- "pattern": "^[A-Fa-f\\d]{24}$"
154
- },
155
- "maxItems": 1000
207
+ "oneOf": [
208
+ {
209
+ "type": "string",
210
+ "pattern": "^[A-Fa-f\\d]{24}$"
211
+ },
212
+ {
213
+ "type": "string",
214
+ "minLength": 4,
215
+ "maxLength": 255,
216
+ "pattern": ".*{{.+}}.*"
217
+ }
218
+ ]
219
+ }
220
+ },
221
+ "queryJson": {
222
+ "type": "string",
223
+ "maxLength": 8192
156
224
  }
157
225
  },
158
226
  "required": [
@@ -171,16 +239,36 @@
171
239
  ]
172
240
  },
173
241
  "fileName": {
174
- "type": "string",
175
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
242
+ "oneOf": [
243
+ {
244
+ "type": "string",
245
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
246
+ },
247
+ {
248
+ "type": "string",
249
+ "minLength": 4,
250
+ "maxLength": 255,
251
+ "pattern": ".*{{.+}}.*"
252
+ }
253
+ ]
176
254
  },
177
255
  "dataTableId": {
178
- "type": "string",
179
- "pattern": "^[A-Fa-f\\d]{24}$"
256
+ "oneOf": [
257
+ {
258
+ "type": "string",
259
+ "pattern": "^[A-Fa-f\\d]{24}$"
260
+ },
261
+ {
262
+ "type": "string",
263
+ "minLength": 4,
264
+ "maxLength": 255,
265
+ "pattern": ".*{{.+}}.*"
266
+ }
267
+ ]
180
268
  },
181
269
  "queryJson": {
182
270
  "type": "string",
183
- "maxLength": 32767
271
+ "maxLength": 8192
184
272
  }
185
273
  },
186
274
  "required": [
@@ -196,12 +284,56 @@
196
284
  "inputType": {
197
285
  "type": "string",
198
286
  "enum": [
199
- "externalUrl"
287
+ "eventData"
200
288
  ]
201
289
  },
202
290
  "fileName": {
291
+ "oneOf": [
292
+ {
293
+ "type": "string",
294
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
295
+ },
296
+ {
297
+ "type": "string",
298
+ "minLength": 4,
299
+ "maxLength": 255,
300
+ "pattern": ".*{{.+}}.*"
301
+ }
302
+ ]
303
+ },
304
+ "queryJson": {
203
305
  "type": "string",
204
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
306
+ "maxLength": 8192
307
+ }
308
+ },
309
+ "required": [
310
+ "inputType",
311
+ "fileName"
312
+ ],
313
+ "additionalProperties": false
314
+ },
315
+ {
316
+ "type": "object",
317
+ "properties": {
318
+ "inputType": {
319
+ "type": "string",
320
+ "enum": [
321
+ "externalUrl"
322
+ ]
323
+ },
324
+ "fileName": {
325
+ "oneOf": [
326
+ {
327
+ "type": "string",
328
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
329
+ },
330
+ {
331
+ "type": "string",
332
+ "minLength": 4,
333
+ "maxLength": 255,
334
+ "pattern": ".*{{.+}}.*"
335
+ }
336
+ ]
205
337
  },
206
338
  "sourceUrl": {
207
339
  "type": "string",
@@ -234,12 +366,32 @@
234
366
  ]
235
367
  },
236
368
  "fileName": {
237
- "type": "string",
238
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
369
+ "oneOf": [
370
+ {
371
+ "type": "string",
372
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
373
+ },
374
+ {
375
+ "type": "string",
376
+ "minLength": 4,
377
+ "maxLength": 255,
378
+ "pattern": ".*{{.+}}.*"
379
+ }
380
+ ]
239
381
  },
240
382
  "dataTableId": {
241
- "type": "string",
242
- "pattern": "^[A-Fa-f\\d]{24}$"
383
+ "oneOf": [
384
+ {
385
+ "type": "string",
386
+ "pattern": "^[A-Fa-f\\d]{24}$"
387
+ },
388
+ {
389
+ "type": "string",
390
+ "minLength": 4,
391
+ "maxLength": 255,
392
+ "pattern": ".*{{.+}}.*"
393
+ }
394
+ ]
243
395
  },
244
396
  "createMissingColumns": {
245
397
  "type": "boolean"
@@ -265,8 +417,18 @@
265
417
  ]
266
418
  },
267
419
  "fileName": {
268
- "type": "string",
269
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
420
+ "oneOf": [
421
+ {
422
+ "type": "string",
423
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
424
+ },
425
+ {
426
+ "type": "string",
427
+ "minLength": 4,
428
+ "maxLength": 255,
429
+ "pattern": ".*{{.+}}.*"
430
+ }
431
+ ]
270
432
  },
271
433
  "destinationDirectoryTemplate": {
272
434
  "type": "string",
@@ -296,8 +458,18 @@
296
458
  ]
297
459
  },
298
460
  "directoryName": {
299
- "type": "string",
300
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
461
+ "oneOf": [
462
+ {
463
+ "type": "string",
464
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
465
+ },
466
+ {
467
+ "type": "string",
468
+ "minLength": 4,
469
+ "maxLength": 255,
470
+ "pattern": ".*{{.+}}.*"
471
+ }
472
+ ]
301
473
  },
302
474
  "destinationDirectoryTemplate": {
303
475
  "type": "string",