losant_rest 1.9.1 → 1.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE +1 -1
  3. data/README.md +1 -1
  4. data/docs/_schemas.md +8502 -580
  5. data/docs/application.md +45 -3
  6. data/docs/applications.md +46 -0
  7. data/docs/experienceEndpoint.md +43 -0
  8. data/docs/experienceEndpoints.md +1 -1
  9. data/docs/experienceView.md +43 -0
  10. data/lib/losant_rest.rb +1 -1
  11. data/lib/losant_rest/application.rb +52 -4
  12. data/lib/losant_rest/application_api_token.rb +1 -1
  13. data/lib/losant_rest/application_api_tokens.rb +1 -1
  14. data/lib/losant_rest/application_certificate.rb +1 -1
  15. data/lib/losant_rest/application_certificate_authorities.rb +1 -1
  16. data/lib/losant_rest/application_certificate_authority.rb +1 -1
  17. data/lib/losant_rest/application_certificates.rb +1 -1
  18. data/lib/losant_rest/application_key.rb +1 -1
  19. data/lib/losant_rest/application_keys.rb +1 -1
  20. data/lib/losant_rest/applications.rb +1 -1
  21. data/lib/losant_rest/audit_log.rb +1 -1
  22. data/lib/losant_rest/audit_logs.rb +1 -1
  23. data/lib/losant_rest/auth.rb +1 -1
  24. data/lib/losant_rest/client.rb +3 -3
  25. data/lib/losant_rest/dashboard.rb +1 -1
  26. data/lib/losant_rest/dashboards.rb +1 -1
  27. data/lib/losant_rest/data.rb +1 -1
  28. data/lib/losant_rest/data_table.rb +1 -1
  29. data/lib/losant_rest/data_table_row.rb +1 -1
  30. data/lib/losant_rest/data_table_rows.rb +1 -1
  31. data/lib/losant_rest/data_tables.rb +1 -1
  32. data/lib/losant_rest/device.rb +1 -1
  33. data/lib/losant_rest/device_recipe.rb +1 -1
  34. data/lib/losant_rest/device_recipes.rb +1 -1
  35. data/lib/losant_rest/devices.rb +1 -1
  36. data/lib/losant_rest/edge_deployments.rb +1 -1
  37. data/lib/losant_rest/error.rb +1 -1
  38. data/lib/losant_rest/event.rb +1 -1
  39. data/lib/losant_rest/events.rb +1 -1
  40. data/lib/losant_rest/experience.rb +1 -1
  41. data/lib/losant_rest/experience_domain.rb +1 -1
  42. data/lib/losant_rest/experience_domains.rb +1 -1
  43. data/lib/losant_rest/experience_endpoint.rb +51 -1
  44. data/lib/losant_rest/experience_endpoints.rb +1 -1
  45. data/lib/losant_rest/experience_group.rb +1 -1
  46. data/lib/losant_rest/experience_groups.rb +1 -1
  47. data/lib/losant_rest/experience_slug.rb +1 -1
  48. data/lib/losant_rest/experience_slugs.rb +1 -1
  49. data/lib/losant_rest/experience_user.rb +1 -1
  50. data/lib/losant_rest/experience_users.rb +1 -1
  51. data/lib/losant_rest/experience_version.rb +1 -1
  52. data/lib/losant_rest/experience_versions.rb +1 -1
  53. data/lib/losant_rest/experience_view.rb +51 -1
  54. data/lib/losant_rest/experience_views.rb +1 -1
  55. data/lib/losant_rest/file.rb +1 -1
  56. data/lib/losant_rest/files.rb +1 -1
  57. data/lib/losant_rest/flow.rb +1 -1
  58. data/lib/losant_rest/flow_version.rb +1 -1
  59. data/lib/losant_rest/flow_versions.rb +1 -1
  60. data/lib/losant_rest/flows.rb +1 -1
  61. data/lib/losant_rest/integration.rb +1 -1
  62. data/lib/losant_rest/integrations.rb +1 -1
  63. data/lib/losant_rest/me.rb +1 -1
  64. data/lib/losant_rest/notebook.rb +1 -1
  65. data/lib/losant_rest/notebooks.rb +1 -1
  66. data/lib/losant_rest/org.rb +1 -1
  67. data/lib/losant_rest/org_invites.rb +1 -1
  68. data/lib/losant_rest/orgs.rb +1 -1
  69. data/lib/losant_rest/utils.rb +1 -1
  70. data/lib/losant_rest/version.rb +1 -1
  71. data/lib/losant_rest/webhook.rb +1 -1
  72. data/lib/losant_rest/webhooks.rb +1 -1
  73. data/schemas/application.json +3 -3
  74. data/schemas/applicationApiTokenPost.json +3 -0
  75. data/schemas/applicationCertificate.json +34 -0
  76. data/schemas/applicationCertificatePatch.json +34 -0
  77. data/schemas/applicationCertificatePost.json +34 -0
  78. data/schemas/applicationCertificates.json +34 -0
  79. data/schemas/{applicationCloneResult.json → applicationCreationByTemplateResult.json} +14 -6
  80. data/schemas/applicationExportPost.json +24 -0
  81. data/schemas/applicationExportResult.json +10 -0
  82. data/schemas/applicationKey.json +34 -0
  83. data/schemas/applicationKeyPatch.json +34 -0
  84. data/schemas/applicationKeyPost.json +34 -0
  85. data/schemas/applicationKeyPostResponse.json +34 -0
  86. data/schemas/applicationKeys.json +34 -0
  87. data/schemas/applicationPatch.json +3 -3
  88. data/schemas/applicationPost.json +3 -3
  89. data/schemas/applications.json +3 -3
  90. data/schemas/authedDevice.json +34 -0
  91. data/schemas/dashboard.json +76 -0
  92. data/schemas/dashboardPatch.json +76 -0
  93. data/schemas/dashboardPost.json +76 -0
  94. data/schemas/dashboards.json +76 -0
  95. data/schemas/experienceLinkedResources.json +6353 -0
  96. data/schemas/githubLogin.json +4 -0
  97. data/schemas/integration.json +4 -4
  98. data/schemas/integrationPatch.json +4 -4
  99. data/schemas/integrationPost.json +4 -4
  100. data/schemas/integrations.json +4 -4
  101. data/schemas/{applicationCloneEnqueued.json → jobEnqueuedResult.json} +0 -0
  102. data/schemas/notebook.json +198 -34
  103. data/schemas/notebookDataExportOptions.json +4 -0
  104. data/schemas/notebookExecutionLogs.json +4 -0
  105. data/schemas/notebookExecutionOptions.json +4 -0
  106. data/schemas/notebookPatch.json +198 -34
  107. data/schemas/notebookPost.json +198 -34
  108. data/schemas/notebooks.json +198 -34
  109. data/schemas/userCredentials.json +4 -0
  110. data/schemas/userPost.json +4 -0
  111. data/schemas/{validationCloneErrors.json → validationErrors.json} +9 -2
  112. metadata +9 -6
@@ -28,6 +28,10 @@
28
28
  ]
29
29
  }
30
30
  ]
31
+ },
32
+ "templateContext": {
33
+ "type": "string",
34
+ "maxLength": 32767
31
35
  }
32
36
  },
33
37
  "additionalProperties": false
@@ -71,6 +71,10 @@
71
71
  "type": "string",
72
72
  "format": "date-time"
73
73
  },
74
+ "templateContext": {
75
+ "type": "string",
76
+ "maxLength": 32767
77
+ },
74
78
  "inputInfo": {
75
79
  "type": "object",
76
80
  "patternProperties": {
@@ -23,6 +23,10 @@
23
23
  ]
24
24
  }
25
25
  ]
26
+ },
27
+ "templateContext": {
28
+ "type": "string",
29
+ "maxLength": 32767
26
30
  }
27
31
  },
28
32
  "additionalProperties": false
@@ -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,25 @@
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
+ }
58
88
  },
59
89
  "attributes": {
60
90
  "type": "array",
@@ -89,17 +119,38 @@
89
119
  ]
90
120
  },
91
121
  "fileName": {
92
- "type": "string",
93
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
122
+ "oneOf": [
123
+ {
124
+ "type": "string",
125
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
126
+ },
127
+ {
128
+ "type": "string",
129
+ "minLength": 4,
130
+ "maxLength": 255,
131
+ "pattern": ".*{{.+}}.*"
132
+ }
133
+ ]
94
134
  },
95
135
  "deviceTags": {
96
136
  "type": "array",
137
+ "maxItems": 100,
97
138
  "items": {
98
139
  "type": "object",
99
140
  "properties": {
100
141
  "key": {
101
- "type": "string",
102
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
142
+ "oneOf": [
143
+ {
144
+ "type": "string",
145
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
146
+ },
147
+ {
148
+ "type": "string",
149
+ "minLength": 4,
150
+ "maxLength": 255,
151
+ "pattern": ".*{{.+}}.*"
152
+ }
153
+ ]
103
154
  },
104
155
  "value": {
105
156
  "type": "string",
@@ -108,16 +159,25 @@
108
159
  }
109
160
  },
110
161
  "additionalProperties": false
111
- },
112
- "maxItems": 100
162
+ }
113
163
  },
114
164
  "deviceIds": {
115
165
  "type": "array",
166
+ "maxItems": 100,
116
167
  "items": {
117
- "type": "string",
118
- "pattern": "^[A-Fa-f\\d]{24}$"
119
- },
120
- "maxItems": 1000
168
+ "oneOf": [
169
+ {
170
+ "type": "string",
171
+ "pattern": "^[A-Fa-f\\d]{24}$"
172
+ },
173
+ {
174
+ "type": "string",
175
+ "minLength": 4,
176
+ "maxLength": 255,
177
+ "pattern": ".*{{.+}}.*"
178
+ }
179
+ ]
180
+ }
121
181
  }
122
182
  },
123
183
  "required": [
@@ -136,12 +196,32 @@
136
196
  ]
137
197
  },
138
198
  "fileName": {
139
- "type": "string",
140
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
199
+ "oneOf": [
200
+ {
201
+ "type": "string",
202
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
203
+ },
204
+ {
205
+ "type": "string",
206
+ "minLength": 4,
207
+ "maxLength": 255,
208
+ "pattern": ".*{{.+}}.*"
209
+ }
210
+ ]
141
211
  },
142
212
  "dataTableId": {
143
- "type": "string",
144
- "pattern": "^[A-Fa-f\\d]{24}$"
213
+ "oneOf": [
214
+ {
215
+ "type": "string",
216
+ "pattern": "^[A-Fa-f\\d]{24}$"
217
+ },
218
+ {
219
+ "type": "string",
220
+ "minLength": 4,
221
+ "maxLength": 255,
222
+ "pattern": ".*{{.+}}.*"
223
+ }
224
+ ]
145
225
  },
146
226
  "queryJson": {
147
227
  "type": "string",
@@ -161,12 +241,56 @@
161
241
  "inputType": {
162
242
  "type": "string",
163
243
  "enum": [
164
- "externalUrl"
244
+ "eventData"
165
245
  ]
166
246
  },
167
247
  "fileName": {
248
+ "oneOf": [
249
+ {
250
+ "type": "string",
251
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
252
+ },
253
+ {
254
+ "type": "string",
255
+ "minLength": 4,
256
+ "maxLength": 255,
257
+ "pattern": ".*{{.+}}.*"
258
+ }
259
+ ]
260
+ },
261
+ "queryJson": {
262
+ "type": "string",
263
+ "maxLength": 32767
264
+ }
265
+ },
266
+ "required": [
267
+ "inputType",
268
+ "fileName"
269
+ ],
270
+ "additionalProperties": false
271
+ },
272
+ {
273
+ "type": "object",
274
+ "properties": {
275
+ "inputType": {
168
276
  "type": "string",
169
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
277
+ "enum": [
278
+ "externalUrl"
279
+ ]
280
+ },
281
+ "fileName": {
282
+ "oneOf": [
283
+ {
284
+ "type": "string",
285
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
286
+ },
287
+ {
288
+ "type": "string",
289
+ "minLength": 4,
290
+ "maxLength": 255,
291
+ "pattern": ".*{{.+}}.*"
292
+ }
293
+ ]
170
294
  },
171
295
  "sourceUrl": {
172
296
  "type": "string",
@@ -199,12 +323,32 @@
199
323
  ]
200
324
  },
201
325
  "fileName": {
202
- "type": "string",
203
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
326
+ "oneOf": [
327
+ {
328
+ "type": "string",
329
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
330
+ },
331
+ {
332
+ "type": "string",
333
+ "minLength": 4,
334
+ "maxLength": 255,
335
+ "pattern": ".*{{.+}}.*"
336
+ }
337
+ ]
204
338
  },
205
339
  "dataTableId": {
206
- "type": "string",
207
- "pattern": "^[A-Fa-f\\d]{24}$"
340
+ "oneOf": [
341
+ {
342
+ "type": "string",
343
+ "pattern": "^[A-Fa-f\\d]{24}$"
344
+ },
345
+ {
346
+ "type": "string",
347
+ "minLength": 4,
348
+ "maxLength": 255,
349
+ "pattern": ".*{{.+}}.*"
350
+ }
351
+ ]
208
352
  },
209
353
  "createMissingColumns": {
210
354
  "type": "boolean"
@@ -230,8 +374,18 @@
230
374
  ]
231
375
  },
232
376
  "fileName": {
233
- "type": "string",
234
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
377
+ "oneOf": [
378
+ {
379
+ "type": "string",
380
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
381
+ },
382
+ {
383
+ "type": "string",
384
+ "minLength": 4,
385
+ "maxLength": 255,
386
+ "pattern": ".*{{.+}}.*"
387
+ }
388
+ ]
235
389
  },
236
390
  "destinationDirectoryTemplate": {
237
391
  "type": "string",
@@ -261,8 +415,18 @@
261
415
  ]
262
416
  },
263
417
  "directoryName": {
264
- "type": "string",
265
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
418
+ "oneOf": [
419
+ {
420
+ "type": "string",
421
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
422
+ },
423
+ {
424
+ "type": "string",
425
+ "minLength": 4,
426
+ "maxLength": 255,
427
+ "pattern": ".*{{.+}}.*"
428
+ }
429
+ ]
266
430
  },
267
431
  "destinationDirectoryTemplate": {
268
432
  "type": "string",
@@ -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,25 @@
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
+ }
58
88
  },
59
89
  "attributes": {
60
90
  "type": "array",
@@ -89,17 +119,38 @@
89
119
  ]
90
120
  },
91
121
  "fileName": {
92
- "type": "string",
93
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
122
+ "oneOf": [
123
+ {
124
+ "type": "string",
125
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
126
+ },
127
+ {
128
+ "type": "string",
129
+ "minLength": 4,
130
+ "maxLength": 255,
131
+ "pattern": ".*{{.+}}.*"
132
+ }
133
+ ]
94
134
  },
95
135
  "deviceTags": {
96
136
  "type": "array",
137
+ "maxItems": 100,
97
138
  "items": {
98
139
  "type": "object",
99
140
  "properties": {
100
141
  "key": {
101
- "type": "string",
102
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
142
+ "oneOf": [
143
+ {
144
+ "type": "string",
145
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
146
+ },
147
+ {
148
+ "type": "string",
149
+ "minLength": 4,
150
+ "maxLength": 255,
151
+ "pattern": ".*{{.+}}.*"
152
+ }
153
+ ]
103
154
  },
104
155
  "value": {
105
156
  "type": "string",
@@ -108,16 +159,25 @@
108
159
  }
109
160
  },
110
161
  "additionalProperties": false
111
- },
112
- "maxItems": 100
162
+ }
113
163
  },
114
164
  "deviceIds": {
115
165
  "type": "array",
166
+ "maxItems": 100,
116
167
  "items": {
117
- "type": "string",
118
- "pattern": "^[A-Fa-f\\d]{24}$"
119
- },
120
- "maxItems": 1000
168
+ "oneOf": [
169
+ {
170
+ "type": "string",
171
+ "pattern": "^[A-Fa-f\\d]{24}$"
172
+ },
173
+ {
174
+ "type": "string",
175
+ "minLength": 4,
176
+ "maxLength": 255,
177
+ "pattern": ".*{{.+}}.*"
178
+ }
179
+ ]
180
+ }
121
181
  }
122
182
  },
123
183
  "required": [
@@ -136,12 +196,32 @@
136
196
  ]
137
197
  },
138
198
  "fileName": {
139
- "type": "string",
140
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
199
+ "oneOf": [
200
+ {
201
+ "type": "string",
202
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
203
+ },
204
+ {
205
+ "type": "string",
206
+ "minLength": 4,
207
+ "maxLength": 255,
208
+ "pattern": ".*{{.+}}.*"
209
+ }
210
+ ]
141
211
  },
142
212
  "dataTableId": {
143
- "type": "string",
144
- "pattern": "^[A-Fa-f\\d]{24}$"
213
+ "oneOf": [
214
+ {
215
+ "type": "string",
216
+ "pattern": "^[A-Fa-f\\d]{24}$"
217
+ },
218
+ {
219
+ "type": "string",
220
+ "minLength": 4,
221
+ "maxLength": 255,
222
+ "pattern": ".*{{.+}}.*"
223
+ }
224
+ ]
145
225
  },
146
226
  "queryJson": {
147
227
  "type": "string",
@@ -161,12 +241,56 @@
161
241
  "inputType": {
162
242
  "type": "string",
163
243
  "enum": [
164
- "externalUrl"
244
+ "eventData"
165
245
  ]
166
246
  },
167
247
  "fileName": {
248
+ "oneOf": [
249
+ {
250
+ "type": "string",
251
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
252
+ },
253
+ {
254
+ "type": "string",
255
+ "minLength": 4,
256
+ "maxLength": 255,
257
+ "pattern": ".*{{.+}}.*"
258
+ }
259
+ ]
260
+ },
261
+ "queryJson": {
262
+ "type": "string",
263
+ "maxLength": 32767
264
+ }
265
+ },
266
+ "required": [
267
+ "inputType",
268
+ "fileName"
269
+ ],
270
+ "additionalProperties": false
271
+ },
272
+ {
273
+ "type": "object",
274
+ "properties": {
275
+ "inputType": {
168
276
  "type": "string",
169
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
277
+ "enum": [
278
+ "externalUrl"
279
+ ]
280
+ },
281
+ "fileName": {
282
+ "oneOf": [
283
+ {
284
+ "type": "string",
285
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
286
+ },
287
+ {
288
+ "type": "string",
289
+ "minLength": 4,
290
+ "maxLength": 255,
291
+ "pattern": ".*{{.+}}.*"
292
+ }
293
+ ]
170
294
  },
171
295
  "sourceUrl": {
172
296
  "type": "string",
@@ -199,12 +323,32 @@
199
323
  ]
200
324
  },
201
325
  "fileName": {
202
- "type": "string",
203
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
326
+ "oneOf": [
327
+ {
328
+ "type": "string",
329
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
330
+ },
331
+ {
332
+ "type": "string",
333
+ "minLength": 4,
334
+ "maxLength": 255,
335
+ "pattern": ".*{{.+}}.*"
336
+ }
337
+ ]
204
338
  },
205
339
  "dataTableId": {
206
- "type": "string",
207
- "pattern": "^[A-Fa-f\\d]{24}$"
340
+ "oneOf": [
341
+ {
342
+ "type": "string",
343
+ "pattern": "^[A-Fa-f\\d]{24}$"
344
+ },
345
+ {
346
+ "type": "string",
347
+ "minLength": 4,
348
+ "maxLength": 255,
349
+ "pattern": ".*{{.+}}.*"
350
+ }
351
+ ]
208
352
  },
209
353
  "createMissingColumns": {
210
354
  "type": "boolean"
@@ -230,8 +374,18 @@
230
374
  ]
231
375
  },
232
376
  "fileName": {
233
- "type": "string",
234
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
377
+ "oneOf": [
378
+ {
379
+ "type": "string",
380
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
381
+ },
382
+ {
383
+ "type": "string",
384
+ "minLength": 4,
385
+ "maxLength": 255,
386
+ "pattern": ".*{{.+}}.*"
387
+ }
388
+ ]
235
389
  },
236
390
  "destinationDirectoryTemplate": {
237
391
  "type": "string",
@@ -261,8 +415,18 @@
261
415
  ]
262
416
  },
263
417
  "directoryName": {
264
- "type": "string",
265
- "pattern": "^[0-9a-zA-Z_.-]{1,255}$"
418
+ "oneOf": [
419
+ {
420
+ "type": "string",
421
+ "pattern": "^(?!\\.{1,2}$)[0-9a-zA-Z_.-]{1,255}$"
422
+ },
423
+ {
424
+ "type": "string",
425
+ "minLength": 4,
426
+ "maxLength": 255,
427
+ "pattern": ".*{{.+}}.*"
428
+ }
429
+ ]
266
430
  },
267
431
  "destinationDirectoryTemplate": {
268
432
  "type": "string",