@itentialopensource/adapter-paragon_pathfinder 1.2.8 → 1.3.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 (43) hide show
  1. package/.eslintignore +0 -1
  2. package/.jshintrc +3 -0
  3. package/CALLS.md +144 -212
  4. package/CHANGELOG.md +16 -0
  5. package/CONTRIBUTING.md +1 -160
  6. package/ENHANCE.md +2 -2
  7. package/README.md +31 -22
  8. package/adapter.js +163 -334
  9. package/adapterBase.js +538 -873
  10. package/changelogs/changelog.md +96 -0
  11. package/metadata.json +47 -0
  12. package/package.json +22 -25
  13. package/pronghorn.json +474 -209
  14. package/propertiesSchema.json +451 -39
  15. package/refs?service=git-upload-pack +0 -0
  16. package/report/adapter-openapi.json +69945 -0
  17. package/report/adapter-openapi.yaml +74294 -0
  18. package/report/adapterInfo.json +8 -8
  19. package/report/updateReport1691507543487.json +120 -0
  20. package/report/updateReport1692202561721.json +120 -0
  21. package/report/updateReport1694461665971.json +120 -0
  22. package/report/updateReport1698420920735.json +120 -0
  23. package/sampleProperties.json +63 -2
  24. package/test/integration/adapterTestBasicGet.js +1 -1
  25. package/test/integration/adapterTestConnectivity.js +91 -42
  26. package/test/integration/adapterTestIntegration.js +130 -2
  27. package/test/unit/adapterBaseTestUnit.js +388 -315
  28. package/test/unit/adapterTestUnit.js +306 -109
  29. package/utils/adapterInfo.js +1 -1
  30. package/utils/addAuth.js +1 -1
  31. package/utils/artifactize.js +1 -1
  32. package/utils/checkMigrate.js +1 -1
  33. package/utils/entitiesToDB.js +1 -0
  34. package/utils/findPath.js +1 -1
  35. package/utils/methodDocumentor.js +71 -23
  36. package/utils/modify.js +13 -15
  37. package/utils/packModificationScript.js +1 -1
  38. package/utils/taskMover.js +309 -0
  39. package/utils/tbScript.js +3 -10
  40. package/utils/tbUtils.js +2 -3
  41. package/utils/testRunner.js +1 -1
  42. package/utils/troubleshootingAdapter.js +1 -3
  43. package/workflows/README.md +0 -3
@@ -18,6 +18,11 @@
18
18
  "minimum": 1,
19
19
  "maximum": 65535
20
20
  },
21
+ "choosepath": {
22
+ "type": "string",
23
+ "description": "choose the path to use -- requires entityPath choices",
24
+ "default": ""
25
+ },
21
26
  "base_path": {
22
27
  "type": "string",
23
28
  "description": "a base path that is consistent across api calls",
@@ -78,6 +83,14 @@
78
83
  "https"
79
84
  ]
80
85
  },
86
+ "service": {
87
+ "type": "string",
88
+ "description": "Service we are integrating with -- used with AWS Authentication",
89
+ "examples": [
90
+ "ec2",
91
+ "route53"
92
+ ]
93
+ },
81
94
  "authentication": {
82
95
  "$ref": "#/definitions/authentication"
83
96
  },
@@ -101,6 +114,9 @@
101
114
  },
102
115
  "devicebroker": {
103
116
  "$ref": "#/definitions/devicebroker"
117
+ },
118
+ "cache": {
119
+ "$ref": "#/definitions/cache"
104
120
  }
105
121
  },
106
122
  "required": [
@@ -123,7 +139,8 @@
123
139
  "jwt_token",
124
140
  "request_token",
125
141
  "no_authentication",
126
- "multi_step_authentication"
142
+ "multi_step_authentication",
143
+ "aws_authentication"
127
144
  ]
128
145
  },
129
146
  "username": {
@@ -256,6 +273,74 @@
256
273
  "type": "string",
257
274
  "description": "The grant type for OAuth requests - can also provide in schema",
258
275
  "default": ""
276
+ },
277
+ "sensitive": {
278
+ "type": "array",
279
+ "description": "List of sensitive keys to search and hide values from being logged",
280
+ "default": [],
281
+ "items": {
282
+ "type": "string"
283
+ }
284
+ },
285
+ "sso": {
286
+ "type": "object",
287
+ "properties": {
288
+ "protocol": {
289
+ "type": "string",
290
+ "description": "the protocol to request token from system",
291
+ "default": "",
292
+ "enum": [
293
+ "http",
294
+ "https",
295
+ ""
296
+ ]
297
+ },
298
+ "host": {
299
+ "type": "string",
300
+ "description": "hostname of the authentication system",
301
+ "default": "",
302
+ "examples": [
303
+ "systemx.customer.com"
304
+ ]
305
+ },
306
+ "port": {
307
+ "type": "integer",
308
+ "description": "port on which to connect to the authentication system",
309
+ "default": 0,
310
+ "minimum": 0,
311
+ "maximum": 65535
312
+ }
313
+ }
314
+ },
315
+ "multiStepAuthCalls": {
316
+ "type": "array",
317
+ "items": {
318
+ "type": "object",
319
+ "properties": {
320
+ "name": {
321
+ "type": "string",
322
+ "description": "Id of the step call",
323
+ "examples": [
324
+ "getAccessToken"
325
+ ]
326
+ },
327
+ "requestFields": {
328
+ "type": "object",
329
+ "description": "The fields set in step request"
330
+ },
331
+ "responseFields": {
332
+ "type": "object",
333
+ "description": "The fields from the step result"
334
+ },
335
+ "successfullResponseCode": {
336
+ "type": "integer",
337
+ "description": "Expected response code for given step, if not set any successfull http response is accepted",
338
+ "examples": [
339
+ 200
340
+ ]
341
+ }
342
+ }
343
+ }
259
344
  }
260
345
  },
261
346
  "required": [
@@ -356,7 +441,13 @@
356
441
  },
357
442
  "query_object": {
358
443
  "type": "object",
359
- "description": "Query object { device: xxxxx } to be placed into the healthcheck, will be converted to query string by the adapter"
444
+ "description": "Query object { device: xxxxx } to be placed into the healthcheck, will be converted to query string by the adapter",
445
+ "default": {}
446
+ },
447
+ "addlHeaders": {
448
+ "type": "object",
449
+ "description": "headers that will be appended to the headers for the call",
450
+ "default": {}
360
451
  }
361
452
  },
362
453
  "required": [
@@ -436,6 +527,7 @@
436
527
  "priorities": {
437
528
  "type": "array",
438
529
  "description": "define your priorities here",
530
+ "default": [],
439
531
  "items": {
440
532
  "type": "object",
441
533
  "properties": {
@@ -506,6 +598,7 @@
506
598
  "failover_codes": {
507
599
  "type": "array",
508
600
  "description": "An array of codes where it is ok to try another method",
601
+ "default": [],
509
602
  "items": {
510
603
  "type": "integer"
511
604
  }
@@ -523,19 +616,23 @@
523
616
  "properties": {
524
617
  "payload": {
525
618
  "type": "object",
526
- "description": "payload fields that will be appended to the provided payload (excluding GET calls)"
619
+ "description": "payload fields that will be appended to the provided payload (excluding GET calls)",
620
+ "default": {}
527
621
  },
528
622
  "uriOptions": {
529
623
  "type": "object",
530
- "description": "options that will be appended to all GET calls"
624
+ "description": "options that will be appended to all GET calls",
625
+ "default": {}
531
626
  },
532
627
  "addlHeaders": {
533
628
  "type": "object",
534
- "description": "headers that will be appended to the headers for the call"
629
+ "description": "headers that will be appended to the headers for the call",
630
+ "default": {}
535
631
  },
536
632
  "authData": {
537
633
  "type": "object",
538
- "description": "authentication data that will be appended to the payload for authentication calls"
634
+ "description": "authentication data that will be appended to the payload for authentication calls",
635
+ "default": {}
539
636
  }
540
637
  }
541
638
  },
@@ -850,6 +947,7 @@
850
947
  "type": "array",
851
948
  "description": "Broker call(s) to getDevice",
852
949
  "items": {
950
+ "type": "object",
853
951
  "properties": {
854
952
  "path": {
855
953
  "type": "string",
@@ -865,26 +963,38 @@
865
963
  "type": "object",
866
964
  "description": "The json object with query parameters of the call to getDevice",
867
965
  "additionalProperties": {
868
- "type": "string"
966
+ "type": [
967
+ "string",
968
+ "number"
969
+ ]
869
970
  }
870
971
  },
871
972
  "body": {
872
973
  "type": "object",
873
974
  "description": "The json object with body of the call to getDevice",
874
975
  "additionalProperties": {
875
- "type": "string"
976
+ "type": [
977
+ "string",
978
+ "number"
979
+ ]
876
980
  }
877
981
  },
878
982
  "headers": {
879
983
  "type": "object",
880
984
  "description": "The json object with headers of the call to getDevice",
881
985
  "additionalProperties": {
882
- "type": "string"
986
+ "type": [
987
+ "string",
988
+ "number"
989
+ ]
883
990
  }
884
991
  },
885
992
  "handleFailure": {
886
993
  "type": "string",
887
- "enum": ["ignore", "fail"],
994
+ "enum": [
995
+ "ignore",
996
+ "fail"
997
+ ],
888
998
  "description": "return failure or ignore failure",
889
999
  "default": "ignore"
890
1000
  },
@@ -892,7 +1002,10 @@
892
1002
  "type": "object",
893
1003
  "description": "The json object with response fields of the call to getDevice",
894
1004
  "additionalProperties": {
895
- "type": "string"
1005
+ "type": [
1006
+ "string",
1007
+ "number"
1008
+ ]
896
1009
  },
897
1010
  "properties": {}
898
1011
  },
@@ -905,7 +1018,10 @@
905
1018
  "type": "object",
906
1019
  "description": "The json object with response fields of the call to getDevice",
907
1020
  "additionalProperties": {
908
- "type": "string"
1021
+ "type": [
1022
+ "string",
1023
+ "number"
1024
+ ]
909
1025
  },
910
1026
  "properties": {
911
1027
  "name": {
@@ -942,6 +1058,7 @@
942
1058
  "type": "array",
943
1059
  "description": "Broker call(s) to getDevicesFiltered",
944
1060
  "items": {
1061
+ "type": "object",
945
1062
  "properties": {
946
1063
  "path": {
947
1064
  "type": "string",
@@ -953,30 +1070,74 @@
953
1070
  "description": "The method of the call to getDevicesFiltered",
954
1071
  "default": "GET"
955
1072
  },
1073
+ "pagination": {
1074
+ "type": "object",
1075
+ "description": "todo",
1076
+ "properties": {
1077
+ "offsetVar": {
1078
+ "type": "string",
1079
+ "description": "Name of variable that defines how to go to next set of results"
1080
+ },
1081
+ "limitVar": {
1082
+ "type": "string",
1083
+ "description": "Name of variable that defines the max results returned in a request"
1084
+ },
1085
+ "incrementBy": {
1086
+ "type": "string",
1087
+ "enum": [
1088
+ "limit",
1089
+ "page"
1090
+ ],
1091
+ "description": "How to incremenet offset. Default limit",
1092
+ "default": "limit"
1093
+ },
1094
+ "requestLocation": {
1095
+ "type": "string",
1096
+ "enum": [
1097
+ "query",
1098
+ "body"
1099
+ ],
1100
+ "description": "Where in request the pagination data goes",
1101
+ "default": "query"
1102
+ }
1103
+ }
1104
+ },
956
1105
  "query": {
957
1106
  "type": "object",
958
1107
  "description": "The json object with query parameters of the call to getDevicesFiltered",
959
1108
  "additionalProperties": {
960
- "type": "string"
1109
+ "type": [
1110
+ "string",
1111
+ "number"
1112
+ ]
961
1113
  }
962
1114
  },
963
1115
  "body": {
964
1116
  "type": "object",
965
1117
  "description": "The json object with body of the call to getDevicesFiltered",
966
1118
  "additionalProperties": {
967
- "type": "string"
1119
+ "type": [
1120
+ "string",
1121
+ "number"
1122
+ ]
968
1123
  }
969
1124
  },
970
1125
  "headers": {
971
1126
  "type": "object",
972
1127
  "description": "The json object with headers of the call to getDevicesFiltered",
973
1128
  "additionalProperties": {
974
- "type": "string"
1129
+ "type": [
1130
+ "string",
1131
+ "number"
1132
+ ]
975
1133
  }
976
1134
  },
977
1135
  "handleFailure": {
978
1136
  "type": "string",
979
- "enum": ["ignore", "fail"],
1137
+ "enum": [
1138
+ "ignore",
1139
+ "fail"
1140
+ ],
980
1141
  "description": "return failure or ignore failure",
981
1142
  "default": "ignore"
982
1143
  },
@@ -984,7 +1145,10 @@
984
1145
  "type": "object",
985
1146
  "description": "The json object with response fields of the call to getDevice",
986
1147
  "additionalProperties": {
987
- "type": "string"
1148
+ "type": [
1149
+ "string",
1150
+ "number"
1151
+ ]
988
1152
  },
989
1153
  "properties": {}
990
1154
  },
@@ -997,7 +1161,10 @@
997
1161
  "type": "object",
998
1162
  "description": "The json object with response fields of the call to getDevicesFiltered",
999
1163
  "additionalProperties": {
1000
- "type": "string"
1164
+ "type": [
1165
+ "string",
1166
+ "number"
1167
+ ]
1001
1168
  },
1002
1169
  "properties": {
1003
1170
  "name": {
@@ -1034,6 +1201,7 @@
1034
1201
  "type": "array",
1035
1202
  "description": "Broker call(s) to determine if the device isAlive",
1036
1203
  "items": {
1204
+ "type": "object",
1037
1205
  "properties": {
1038
1206
  "path": {
1039
1207
  "type": "string",
@@ -1049,26 +1217,38 @@
1049
1217
  "type": "object",
1050
1218
  "description": "The json object with query parameters of the call to isAlive",
1051
1219
  "additionalProperties": {
1052
- "type": "string"
1220
+ "type": [
1221
+ "string",
1222
+ "number"
1223
+ ]
1053
1224
  }
1054
1225
  },
1055
1226
  "body": {
1056
1227
  "type": "object",
1057
1228
  "description": "The json object with body of the call to isAlive",
1058
1229
  "additionalProperties": {
1059
- "type": "string"
1230
+ "type": [
1231
+ "string",
1232
+ "number"
1233
+ ]
1060
1234
  }
1061
1235
  },
1062
1236
  "headers": {
1063
1237
  "type": "object",
1064
1238
  "description": "The json object with headers of the call to isAlive",
1065
1239
  "additionalProperties": {
1066
- "type": "string"
1240
+ "type": [
1241
+ "string",
1242
+ "number"
1243
+ ]
1067
1244
  }
1068
1245
  },
1069
1246
  "handleFailure": {
1070
1247
  "type": "string",
1071
- "enum": ["ignore", "fail"],
1248
+ "enum": [
1249
+ "ignore",
1250
+ "fail"
1251
+ ],
1072
1252
  "description": "return failure or ignore isAlive",
1073
1253
  "default": "ignore"
1074
1254
  },
@@ -1076,7 +1256,10 @@
1076
1256
  "type": "object",
1077
1257
  "description": "The json object with response fields of the call to getDevice",
1078
1258
  "additionalProperties": {
1079
- "type": "string"
1259
+ "type": [
1260
+ "string",
1261
+ "number"
1262
+ ]
1080
1263
  },
1081
1264
  "properties": {}
1082
1265
  },
@@ -1089,7 +1272,10 @@
1089
1272
  "type": "object",
1090
1273
  "description": "The json object with response fields of the call to isAlive",
1091
1274
  "additionalProperties": {
1092
- "type": "string"
1275
+ "type": [
1276
+ "string",
1277
+ "number"
1278
+ ]
1093
1279
  },
1094
1280
  "properties": {
1095
1281
  "status": {
@@ -1111,6 +1297,7 @@
1111
1297
  "type": "array",
1112
1298
  "description": "Broker call(s) to getConfig",
1113
1299
  "items": {
1300
+ "type": "object",
1114
1301
  "properties": {
1115
1302
  "path": {
1116
1303
  "type": "string",
@@ -1126,26 +1313,38 @@
1126
1313
  "type": "object",
1127
1314
  "description": "The json object with query parameters of the call to getConfig",
1128
1315
  "additionalProperties": {
1129
- "type": "string"
1316
+ "type": [
1317
+ "string",
1318
+ "number"
1319
+ ]
1130
1320
  }
1131
1321
  },
1132
1322
  "body": {
1133
1323
  "type": "object",
1134
1324
  "description": "The json object with body of the call to getConfig",
1135
1325
  "additionalProperties": {
1136
- "type": "string"
1326
+ "type": [
1327
+ "string",
1328
+ "number"
1329
+ ]
1137
1330
  }
1138
1331
  },
1139
1332
  "headers": {
1140
1333
  "type": "object",
1141
1334
  "description": "The json object with headers of the call to getConfig",
1142
1335
  "additionalProperties": {
1143
- "type": "string"
1336
+ "type": [
1337
+ "string",
1338
+ "number"
1339
+ ]
1144
1340
  }
1145
1341
  },
1146
1342
  "handleFailure": {
1147
1343
  "type": "string",
1148
- "enum": ["ignore", "fail"],
1344
+ "enum": [
1345
+ "ignore",
1346
+ "fail"
1347
+ ],
1149
1348
  "description": "return failure or ignore getConfig",
1150
1349
  "default": "ignore"
1151
1350
  },
@@ -1153,7 +1352,10 @@
1153
1352
  "type": "object",
1154
1353
  "description": "The json object with response fields of the call to getDevice",
1155
1354
  "additionalProperties": {
1156
- "type": "string"
1355
+ "type": [
1356
+ "string",
1357
+ "number"
1358
+ ]
1157
1359
  },
1158
1360
  "properties": {}
1159
1361
  },
@@ -1166,10 +1368,12 @@
1166
1368
  "type": "object",
1167
1369
  "description": "The json object with response fields of the call to getConfig",
1168
1370
  "additionalProperties": {
1169
- "type": "string"
1371
+ "type": [
1372
+ "string",
1373
+ "number"
1374
+ ]
1170
1375
  },
1171
- "properties": {
1172
- }
1376
+ "properties": {}
1173
1377
  }
1174
1378
  }
1175
1379
  }
@@ -1178,6 +1382,7 @@
1178
1382
  "type": "array",
1179
1383
  "description": "Broker call(s) to getCount",
1180
1384
  "items": {
1385
+ "type": "object",
1181
1386
  "properties": {
1182
1387
  "path": {
1183
1388
  "type": "string",
@@ -1193,26 +1398,38 @@
1193
1398
  "type": "object",
1194
1399
  "description": "The json object with query parameters of the call to getCount",
1195
1400
  "additionalProperties": {
1196
- "type": "string"
1401
+ "type": [
1402
+ "string",
1403
+ "number"
1404
+ ]
1197
1405
  }
1198
1406
  },
1199
1407
  "body": {
1200
1408
  "type": "object",
1201
1409
  "description": "The json object with body of the call to getCount",
1202
1410
  "additionalProperties": {
1203
- "type": "string"
1411
+ "type": [
1412
+ "string",
1413
+ "number"
1414
+ ]
1204
1415
  }
1205
1416
  },
1206
1417
  "headers": {
1207
1418
  "type": "object",
1208
1419
  "description": "The json object with headers of the call to getCount",
1209
1420
  "additionalProperties": {
1210
- "type": "string"
1421
+ "type": [
1422
+ "string",
1423
+ "number"
1424
+ ]
1211
1425
  }
1212
1426
  },
1213
1427
  "handleFailure": {
1214
1428
  "type": "string",
1215
- "enum": ["ignore", "fail"],
1429
+ "enum": [
1430
+ "ignore",
1431
+ "fail"
1432
+ ],
1216
1433
  "description": "return failure or ignore getCount",
1217
1434
  "default": "ignore"
1218
1435
  },
@@ -1220,7 +1437,10 @@
1220
1437
  "type": "object",
1221
1438
  "description": "The json object with response fields of the call to getDevice",
1222
1439
  "additionalProperties": {
1223
- "type": "string"
1440
+ "type": [
1441
+ "string",
1442
+ "number"
1443
+ ]
1224
1444
  },
1225
1445
  "properties": {}
1226
1446
  },
@@ -1233,9 +1453,201 @@
1233
1453
  "type": "object",
1234
1454
  "description": "The json object with response fields of the call to getConfig",
1235
1455
  "additionalProperties": {
1236
- "type": "string"
1456
+ "type": [
1457
+ "string",
1458
+ "number"
1459
+ ]
1237
1460
  },
1238
- "properties": {
1461
+ "properties": {}
1462
+ }
1463
+ }
1464
+ }
1465
+ }
1466
+ }
1467
+ },
1468
+ "cache": {
1469
+ "type": "object",
1470
+ "properties": {
1471
+ "enabled": {
1472
+ "type": "boolean",
1473
+ "description": "Whether or not cache is enabled for adapter",
1474
+ "default": false
1475
+ },
1476
+ "entities": {
1477
+ "type": "array",
1478
+ "description": "Information for the cached entities",
1479
+ "items": {
1480
+ "type": "object",
1481
+ "properties": {
1482
+ "entityType": {
1483
+ "type": "string",
1484
+ "description": "The name of the entity - should match adapter entity configuration or a broker (e.g. Device)",
1485
+ "default": ""
1486
+ },
1487
+ "frequency": {
1488
+ "type": "integer",
1489
+ "description": "how long (in minutes) we wait to re-populate the cache",
1490
+ "default": 1440,
1491
+ "maximum": 10080
1492
+ },
1493
+ "flushOnFail": {
1494
+ "type": "boolean",
1495
+ "description": "Whether to clear the cache we have if the populate failed",
1496
+ "default": false
1497
+ },
1498
+ "limit": {
1499
+ "type": "integer",
1500
+ "description": "maximum number of items to keep in cache",
1501
+ "default": 1000
1502
+ },
1503
+ "retryAttempts": {
1504
+ "type": "integer",
1505
+ "description": "number of times to retry the populate call before failure",
1506
+ "default": 5
1507
+ },
1508
+ "sort": {
1509
+ "type": "boolean",
1510
+ "description": "whether to sort the data or not",
1511
+ "default": true
1512
+ },
1513
+ "populate": {
1514
+ "type": "array",
1515
+ "description": "Information for the call(s) used to populate the cache",
1516
+ "items": {
1517
+ "type": "object",
1518
+ "properties": {
1519
+ "path": {
1520
+ "type": "string",
1521
+ "description": "The fully qualified path of the call to getDevice (e.g. /rest/api/device/{deviceid})",
1522
+ "default": ""
1523
+ },
1524
+ "method": {
1525
+ "type": "string",
1526
+ "description": "The method of the call to getDevice",
1527
+ "default": "GET"
1528
+ },
1529
+ "pagination": {
1530
+ "type": "object",
1531
+ "description": "todo",
1532
+ "properties": {
1533
+ "offsetVar": {
1534
+ "type": "string",
1535
+ "description": "Name of variable that defines how to go to next set of results"
1536
+ },
1537
+ "limitVar": {
1538
+ "type": "string",
1539
+ "description": "Name of variable that defines the max results returned in a request"
1540
+ },
1541
+ "incrementBy": {
1542
+ "type": "string",
1543
+ "enum": [
1544
+ "limit",
1545
+ "page"
1546
+ ],
1547
+ "description": "How to incremenet offset. Default limit",
1548
+ "default": "limit"
1549
+ },
1550
+ "requestLocation": {
1551
+ "type": "string",
1552
+ "enum": [
1553
+ "query",
1554
+ "body"
1555
+ ],
1556
+ "description": "Where in request the pagination data goes",
1557
+ "default": "query"
1558
+ }
1559
+ }
1560
+ },
1561
+ "query": {
1562
+ "type": "object",
1563
+ "description": "The json object with query parameters of the call to getDevice",
1564
+ "additionalProperties": {
1565
+ "type": [
1566
+ "string",
1567
+ "number"
1568
+ ]
1569
+ }
1570
+ },
1571
+ "body": {
1572
+ "type": "object",
1573
+ "description": "The json object with body of the call to getDevice",
1574
+ "additionalProperties": {
1575
+ "type": [
1576
+ "string",
1577
+ "number"
1578
+ ]
1579
+ }
1580
+ },
1581
+ "headers": {
1582
+ "type": "object",
1583
+ "description": "The json object with headers of the call to getDevice",
1584
+ "additionalProperties": {
1585
+ "type": [
1586
+ "string",
1587
+ "number"
1588
+ ]
1589
+ }
1590
+ },
1591
+ "handleFailure": {
1592
+ "type": "string",
1593
+ "enum": [
1594
+ "ignore",
1595
+ "fail"
1596
+ ],
1597
+ "description": "return failure or ignore failure",
1598
+ "default": "ignore"
1599
+ },
1600
+ "requestFields": {
1601
+ "type": "object",
1602
+ "description": "The json object with response fields of the call to getDevice",
1603
+ "additionalProperties": {
1604
+ "type": [
1605
+ "string",
1606
+ "number"
1607
+ ]
1608
+ },
1609
+ "properties": {}
1610
+ },
1611
+ "responseDatakey": {
1612
+ "type": "string",
1613
+ "description": "place in the response where the data is - supports jsonquery",
1614
+ "default": ""
1615
+ },
1616
+ "responseFields": {
1617
+ "type": "object",
1618
+ "description": "The json object with response fields of the call to getDevice",
1619
+ "additionalProperties": {
1620
+ "type": [
1621
+ "string",
1622
+ "number"
1623
+ ]
1624
+ }
1625
+ }
1626
+ }
1627
+ }
1628
+ },
1629
+ "cachedTasks": {
1630
+ "type": "array",
1631
+ "description": "Information for the call(s) used to populate the cache",
1632
+ "items": {
1633
+ "type": "object",
1634
+ "properties": {
1635
+ "name": {
1636
+ "type": "string",
1637
+ "description": "the name of the task/action that should utilize cached information",
1638
+ "default": ""
1639
+ },
1640
+ "filterField": {
1641
+ "type": "string",
1642
+ "description": "the field that contains filter information for this call",
1643
+ "default": ""
1644
+ },
1645
+ "filterLoc": {
1646
+ "type": "string",
1647
+ "description": "the field that contains the location of the filter field",
1648
+ "default": ""
1649
+ }
1650
+ }
1239
1651
  }
1240
1652
  }
1241
1653
  }