@itentialopensource/adapter-adtran_mosaic_devicemanager 0.1.1 → 0.3.0

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 (52) hide show
  1. package/AUTH.md +39 -0
  2. package/BROKER.md +199 -0
  3. package/CALLS.md +733 -0
  4. package/CHANGELOG.md +17 -2
  5. package/CODE_OF_CONDUCT.md +12 -17
  6. package/CONTRIBUTING.md +3 -148
  7. package/ENHANCE.md +14 -14
  8. package/PROPERTIES.md +483 -89
  9. package/README.md +156 -67
  10. package/SUMMARY.md +2 -2
  11. package/SYSTEMINFO.md +11 -0
  12. package/TROUBLESHOOT.md +4 -3
  13. package/adapter.js +236 -626
  14. package/adapterBase.js +647 -494
  15. package/changelogs/changelog.md +16 -0
  16. package/entities/.generic/action.json +105 -0
  17. package/entities/.generic/schema.json +6 -1
  18. package/metadata.json +47 -0
  19. package/package.json +24 -24
  20. package/pronghorn.json +508 -90
  21. package/propertiesSchema.json +496 -39
  22. package/refs?service=git-upload-pack +0 -0
  23. package/report/adapter-openapi.json +7211 -0
  24. package/report/adapter-openapi.yaml +6459 -0
  25. package/report/adapterInfo.json +10 -0
  26. package/report/updateReport1653138377421.json +120 -0
  27. package/report/updateReport1691507605063.json +120 -0
  28. package/report/updateReport1692202606613.json +120 -0
  29. package/report/updateReport1694462023649.json +120 -0
  30. package/report/updateReport1698421007213.json +120 -0
  31. package/sampleProperties.json +153 -3
  32. package/test/integration/adapterTestBasicGet.js +3 -5
  33. package/test/integration/adapterTestConnectivity.js +91 -42
  34. package/test/integration/adapterTestIntegration.js +1965 -2493
  35. package/test/unit/adapterBaseTestUnit.js +388 -306
  36. package/test/unit/adapterTestUnit.js +364 -231
  37. package/utils/adapterInfo.js +206 -0
  38. package/utils/addAuth.js +1 -1
  39. package/utils/artifactize.js +1 -1
  40. package/utils/checkMigrate.js +1 -1
  41. package/utils/entitiesToDB.js +12 -57
  42. package/utils/findPath.js +1 -1
  43. package/utils/methodDocumentor.js +273 -0
  44. package/utils/modify.js +13 -15
  45. package/utils/packModificationScript.js +1 -1
  46. package/utils/pre-commit.sh +5 -0
  47. package/utils/taskMover.js +309 -0
  48. package/utils/tbScript.js +123 -53
  49. package/utils/tbUtils.js +84 -59
  50. package/utils/testRunner.js +17 -17
  51. package/utils/troubleshootingAdapter.js +9 -6
  52. 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",
@@ -51,6 +56,11 @@
51
56
  "description": "When true the path variables are encoded in the url",
52
57
  "default": true
53
58
  },
59
+ "encode_queryvars": {
60
+ "type": "boolean",
61
+ "description": "When true the query parameters are encoded in the url",
62
+ "default": true
63
+ },
54
64
  "save_metric": {
55
65
  "type": [
56
66
  "boolean",
@@ -73,6 +83,14 @@
73
83
  "https"
74
84
  ]
75
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
+ },
76
94
  "authentication": {
77
95
  "$ref": "#/definitions/authentication"
78
96
  },
@@ -93,6 +111,12 @@
93
111
  },
94
112
  "mongo": {
95
113
  "$ref": "#/definitions/mongo"
114
+ },
115
+ "devicebroker": {
116
+ "$ref": "#/definitions/devicebroker"
117
+ },
118
+ "cache": {
119
+ "$ref": "#/definitions/cache"
96
120
  }
97
121
  },
98
122
  "required": [
@@ -114,7 +138,9 @@
114
138
  "static_token",
115
139
  "jwt_token",
116
140
  "request_token",
117
- "no_authentication"
141
+ "no_authentication",
142
+ "multi_step_authentication",
143
+ "aws_authentication"
118
144
  ]
119
145
  },
120
146
  "username": {
@@ -247,6 +273,74 @@
247
273
  "type": "string",
248
274
  "description": "The grant type for OAuth requests - can also provide in schema",
249
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
+ }
250
344
  }
251
345
  },
252
346
  "required": [
@@ -349,7 +443,13 @@
349
443
  },
350
444
  "query_object": {
351
445
  "type": "object",
352
- "description": "Query object { device: xxxxx } to be placed into the healthcheck, will be converted to query string by the adapter"
446
+ "description": "Query object { device: xxxxx } to be placed into the healthcheck, will be converted to query string by the adapter",
447
+ "default": {}
448
+ },
449
+ "addlHeaders": {
450
+ "type": "object",
451
+ "description": "headers that will be appended to the headers for the call",
452
+ "default": {}
353
453
  }
354
454
  },
355
455
  "required": [
@@ -407,7 +507,7 @@
407
507
  },
408
508
  "concurrent_max": {
409
509
  "type": "integer",
410
- "description": "defines the number of request that Pronghorn can send adtranMosaicDeviceManager at one time",
510
+ "description": "defines the number of request that Pronghorn can send adtran_mosaic_devicemanager at one time",
411
511
  "default": 1,
412
512
  "minimum": 0,
413
513
  "maximum": 1000
@@ -421,7 +521,7 @@
421
521
  },
422
522
  "avg_runtime": {
423
523
  "type": "integer",
424
- "description": "an approximate average of how long it takes adtranMosaicDeviceManager to handle each request",
524
+ "description": "an approximate average of how long it takes adtran_mosaic_devicemanager to handle each request",
425
525
  "default": 200,
426
526
  "minimum": 50,
427
527
  "maximum": 60000
@@ -429,6 +529,7 @@
429
529
  "priorities": {
430
530
  "type": "array",
431
531
  "description": "define your priorities here",
532
+ "default": [],
432
533
  "items": {
433
534
  "type": "object",
434
535
  "properties": {
@@ -499,6 +600,7 @@
499
600
  "failover_codes": {
500
601
  "type": "array",
501
602
  "description": "An array of codes where it is ok to try another method",
603
+ "default": [],
502
604
  "items": {
503
605
  "type": "integer"
504
606
  }
@@ -516,19 +618,23 @@
516
618
  "properties": {
517
619
  "payload": {
518
620
  "type": "object",
519
- "description": "payload fields that will be appended to the provided payload (excluding GET calls)"
621
+ "description": "payload fields that will be appended to the provided payload (excluding GET calls)",
622
+ "default": {}
520
623
  },
521
624
  "uriOptions": {
522
625
  "type": "object",
523
- "description": "options that will be appended to all GET calls"
626
+ "description": "options that will be appended to all GET calls",
627
+ "default": {}
524
628
  },
525
629
  "addlHeaders": {
526
630
  "type": "object",
527
- "description": "headers that will be appended to the headers for the call"
631
+ "description": "headers that will be appended to the headers for the call",
632
+ "default": {}
528
633
  },
529
634
  "authData": {
530
635
  "type": "object",
531
- "description": "authentication data that will be appended to the payload for authentication calls"
636
+ "description": "authentication data that will be appended to the payload for authentication calls",
637
+ "default": {}
532
638
  }
533
639
  }
534
640
  },
@@ -843,6 +949,7 @@
843
949
  "type": "array",
844
950
  "description": "Broker call(s) to getDevice",
845
951
  "items": {
952
+ "type": "object",
846
953
  "properties": {
847
954
  "path": {
848
955
  "type": "string",
@@ -858,21 +965,30 @@
858
965
  "type": "object",
859
966
  "description": "The json object with query parameters of the call to getDevice",
860
967
  "additionalProperties": {
861
- "type": "string"
968
+ "type": [
969
+ "string",
970
+ "number"
971
+ ]
862
972
  }
863
973
  },
864
974
  "body": {
865
975
  "type": "object",
866
976
  "description": "The json object with body of the call to getDevice",
867
977
  "additionalProperties": {
868
- "type": "string"
978
+ "type": [
979
+ "string",
980
+ "number"
981
+ ]
869
982
  }
870
983
  },
871
984
  "headers": {
872
985
  "type": "object",
873
986
  "description": "The json object with headers of the call to getDevice",
874
987
  "additionalProperties": {
875
- "type": "string"
988
+ "type": [
989
+ "string",
990
+ "number"
991
+ ]
876
992
  }
877
993
  },
878
994
  "handleFailure": {
@@ -888,15 +1004,26 @@
888
1004
  "type": "object",
889
1005
  "description": "The json object with response fields of the call to getDevice",
890
1006
  "additionalProperties": {
891
- "type": "string"
1007
+ "type": [
1008
+ "string",
1009
+ "number"
1010
+ ]
892
1011
  },
893
1012
  "properties": {}
894
1013
  },
1014
+ "responseDatakey": {
1015
+ "type": "string",
1016
+ "description": "place in the response where the data is - supports jsonquery",
1017
+ "default": ""
1018
+ },
895
1019
  "responseFields": {
896
1020
  "type": "object",
897
1021
  "description": "The json object with response fields of the call to getDevice",
898
1022
  "additionalProperties": {
899
- "type": "string"
1023
+ "type": [
1024
+ "string",
1025
+ "number"
1026
+ ]
900
1027
  },
901
1028
  "properties": {
902
1029
  "name": {
@@ -919,7 +1046,7 @@
919
1046
  "description": "The field in response to getDevice that contains the port of the device",
920
1047
  "default": ""
921
1048
  },
922
- "ip": {
1049
+ "ipaddress": {
923
1050
  "type": "string",
924
1051
  "description": "The field in response to getDevice that contains the ip address of the device",
925
1052
  "default": ""
@@ -933,6 +1060,7 @@
933
1060
  "type": "array",
934
1061
  "description": "Broker call(s) to getDevicesFiltered",
935
1062
  "items": {
1063
+ "type": "object",
936
1064
  "properties": {
937
1065
  "path": {
938
1066
  "type": "string",
@@ -944,25 +1072,66 @@
944
1072
  "description": "The method of the call to getDevicesFiltered",
945
1073
  "default": "GET"
946
1074
  },
1075
+ "pagination": {
1076
+ "type": "object",
1077
+ "description": "todo",
1078
+ "properties": {
1079
+ "offsetVar": {
1080
+ "type": "string",
1081
+ "description": "Name of variable that defines how to go to next set of results"
1082
+ },
1083
+ "limitVar": {
1084
+ "type": "string",
1085
+ "description": "Name of variable that defines the max results returned in a request"
1086
+ },
1087
+ "incrementBy": {
1088
+ "type": "string",
1089
+ "enum": [
1090
+ "limit",
1091
+ "page"
1092
+ ],
1093
+ "description": "How to incremenet offset. Default limit",
1094
+ "default": "limit"
1095
+ },
1096
+ "requestLocation": {
1097
+ "type": "string",
1098
+ "enum": [
1099
+ "query",
1100
+ "body"
1101
+ ],
1102
+ "description": "Where in request the pagination data goes",
1103
+ "default": "query"
1104
+ }
1105
+ }
1106
+ },
947
1107
  "query": {
948
1108
  "type": "object",
949
1109
  "description": "The json object with query parameters of the call to getDevicesFiltered",
950
1110
  "additionalProperties": {
951
- "type": "string"
1111
+ "type": [
1112
+ "string",
1113
+ "number"
1114
+ ]
952
1115
  }
953
1116
  },
954
1117
  "body": {
955
1118
  "type": "object",
956
1119
  "description": "The json object with body of the call to getDevicesFiltered",
957
1120
  "additionalProperties": {
958
- "type": "string"
1121
+ "type": [
1122
+ "string",
1123
+ "number"
1124
+ ]
959
1125
  }
960
1126
  },
961
1127
  "headers": {
962
1128
  "type": "object",
963
1129
  "description": "The json object with headers of the call to getDevicesFiltered",
964
1130
  "additionalProperties": {
965
- "type": "string"
1131
+ "type": [
1132
+ "string",
1133
+ "number"
1134
+ ]
966
1135
  }
967
1136
  },
968
1137
  "handleFailure": {
@@ -974,11 +1143,30 @@
974
1143
  "description": "return failure or ignore failure",
975
1144
  "default": "ignore"
976
1145
  },
1146
+ "requestFields": {
1147
+ "type": "object",
1148
+ "description": "The json object with response fields of the call to getDevice",
1149
+ "additionalProperties": {
1150
+ "type": [
1151
+ "string",
1152
+ "number"
1153
+ ]
1154
+ },
1155
+ "properties": {}
1156
+ },
1157
+ "responseDatakey": {
1158
+ "type": "string",
1159
+ "description": "place in the response where the data is - supports jsonquery",
1160
+ "default": ""
1161
+ },
977
1162
  "responseFields": {
978
1163
  "type": "object",
979
1164
  "description": "The json object with response fields of the call to getDevicesFiltered",
980
1165
  "additionalProperties": {
981
- "type": "string"
1166
+ "type": [
1167
+ "string",
1168
+ "number"
1169
+ ]
982
1170
  },
983
1171
  "properties": {
984
1172
  "name": {
@@ -996,12 +1184,12 @@
996
1184
  "description": "Any prefix that should be added to the ostype of the device (e.g. aws-)",
997
1185
  "default": ""
998
1186
  },
999
- "port_field": {
1187
+ "port": {
1000
1188
  "type": "string",
1001
1189
  "description": "The field in response to getDevicesFiltered that contains the port of the device",
1002
1190
  "default": ""
1003
1191
  },
1004
- "ip_field": {
1192
+ "ipaddress": {
1005
1193
  "type": "string",
1006
1194
  "description": "The field in response to getDevicesFiltered that contains the ip address of the device",
1007
1195
  "default": ""
@@ -1015,6 +1203,7 @@
1015
1203
  "type": "array",
1016
1204
  "description": "Broker call(s) to determine if the device isAlive",
1017
1205
  "items": {
1206
+ "type": "object",
1018
1207
  "properties": {
1019
1208
  "path": {
1020
1209
  "type": "string",
@@ -1030,21 +1219,30 @@
1030
1219
  "type": "object",
1031
1220
  "description": "The json object with query parameters of the call to isAlive",
1032
1221
  "additionalProperties": {
1033
- "type": "string"
1222
+ "type": [
1223
+ "string",
1224
+ "number"
1225
+ ]
1034
1226
  }
1035
1227
  },
1036
1228
  "body": {
1037
1229
  "type": "object",
1038
1230
  "description": "The json object with body of the call to isAlive",
1039
1231
  "additionalProperties": {
1040
- "type": "string"
1232
+ "type": [
1233
+ "string",
1234
+ "number"
1235
+ ]
1041
1236
  }
1042
1237
  },
1043
1238
  "headers": {
1044
1239
  "type": "object",
1045
1240
  "description": "The json object with headers of the call to isAlive",
1046
1241
  "additionalProperties": {
1047
- "type": "string"
1242
+ "type": [
1243
+ "string",
1244
+ "number"
1245
+ ]
1048
1246
  }
1049
1247
  },
1050
1248
  "handleFailure": {
@@ -1056,30 +1254,41 @@
1056
1254
  "description": "return failure or ignore isAlive",
1057
1255
  "default": "ignore"
1058
1256
  },
1059
- "statusValue": {
1060
- "type": "string",
1061
- "description": "The expected value in the status field",
1062
- "default": "true"
1063
- },
1064
1257
  "requestFields": {
1065
1258
  "type": "object",
1066
1259
  "description": "The json object with response fields of the call to getDevice",
1067
1260
  "additionalProperties": {
1068
- "type": "string"
1261
+ "type": [
1262
+ "string",
1263
+ "number"
1264
+ ]
1069
1265
  },
1070
1266
  "properties": {}
1071
1267
  },
1268
+ "responseDatakey": {
1269
+ "type": "string",
1270
+ "description": "place in the response where the data is - supports jsonquery",
1271
+ "default": ""
1272
+ },
1072
1273
  "responseFields": {
1073
1274
  "type": "object",
1074
1275
  "description": "The json object with response fields of the call to isAlive",
1075
1276
  "additionalProperties": {
1076
- "type": "string"
1277
+ "type": [
1278
+ "string",
1279
+ "number"
1280
+ ]
1077
1281
  },
1078
1282
  "properties": {
1079
1283
  "status": {
1080
1284
  "type": "string",
1081
1285
  "description": "The field in response to isAlive that contains the status of the device",
1082
1286
  "default": "name"
1287
+ },
1288
+ "statusValue": {
1289
+ "type": "string",
1290
+ "description": "The expected value in the status field",
1291
+ "default": "true"
1083
1292
  }
1084
1293
  }
1085
1294
  }
@@ -1090,6 +1299,7 @@
1090
1299
  "type": "array",
1091
1300
  "description": "Broker call(s) to getConfig",
1092
1301
  "items": {
1302
+ "type": "object",
1093
1303
  "properties": {
1094
1304
  "path": {
1095
1305
  "type": "string",
@@ -1105,21 +1315,30 @@
1105
1315
  "type": "object",
1106
1316
  "description": "The json object with query parameters of the call to getConfig",
1107
1317
  "additionalProperties": {
1108
- "type": "string"
1318
+ "type": [
1319
+ "string",
1320
+ "number"
1321
+ ]
1109
1322
  }
1110
1323
  },
1111
1324
  "body": {
1112
1325
  "type": "object",
1113
1326
  "description": "The json object with body of the call to getConfig",
1114
1327
  "additionalProperties": {
1115
- "type": "string"
1328
+ "type": [
1329
+ "string",
1330
+ "number"
1331
+ ]
1116
1332
  }
1117
1333
  },
1118
1334
  "headers": {
1119
1335
  "type": "object",
1120
1336
  "description": "The json object with headers of the call to getConfig",
1121
1337
  "additionalProperties": {
1122
- "type": "string"
1338
+ "type": [
1339
+ "string",
1340
+ "number"
1341
+ ]
1123
1342
  }
1124
1343
  },
1125
1344
  "handleFailure": {
@@ -1135,15 +1354,26 @@
1135
1354
  "type": "object",
1136
1355
  "description": "The json object with response fields of the call to getDevice",
1137
1356
  "additionalProperties": {
1138
- "type": "string"
1357
+ "type": [
1358
+ "string",
1359
+ "number"
1360
+ ]
1139
1361
  },
1140
1362
  "properties": {}
1141
1363
  },
1364
+ "responseDatakey": {
1365
+ "type": "string",
1366
+ "description": "place in the response where the data is - supports jsonquery",
1367
+ "default": ""
1368
+ },
1142
1369
  "responseFields": {
1143
1370
  "type": "object",
1144
1371
  "description": "The json object with response fields of the call to getConfig",
1145
1372
  "additionalProperties": {
1146
- "type": "string"
1373
+ "type": [
1374
+ "string",
1375
+ "number"
1376
+ ]
1147
1377
  },
1148
1378
  "properties": {}
1149
1379
  }
@@ -1154,6 +1384,7 @@
1154
1384
  "type": "array",
1155
1385
  "description": "Broker call(s) to getCount",
1156
1386
  "items": {
1387
+ "type": "object",
1157
1388
  "properties": {
1158
1389
  "path": {
1159
1390
  "type": "string",
@@ -1169,21 +1400,30 @@
1169
1400
  "type": "object",
1170
1401
  "description": "The json object with query parameters of the call to getCount",
1171
1402
  "additionalProperties": {
1172
- "type": "string"
1403
+ "type": [
1404
+ "string",
1405
+ "number"
1406
+ ]
1173
1407
  }
1174
1408
  },
1175
1409
  "body": {
1176
1410
  "type": "object",
1177
1411
  "description": "The json object with body of the call to getCount",
1178
1412
  "additionalProperties": {
1179
- "type": "string"
1413
+ "type": [
1414
+ "string",
1415
+ "number"
1416
+ ]
1180
1417
  }
1181
1418
  },
1182
1419
  "headers": {
1183
1420
  "type": "object",
1184
1421
  "description": "The json object with headers of the call to getCount",
1185
1422
  "additionalProperties": {
1186
- "type": "string"
1423
+ "type": [
1424
+ "string",
1425
+ "number"
1426
+ ]
1187
1427
  }
1188
1428
  },
1189
1429
  "handleFailure": {
@@ -1194,6 +1434,223 @@
1194
1434
  ],
1195
1435
  "description": "return failure or ignore getCount",
1196
1436
  "default": "ignore"
1437
+ },
1438
+ "requestFields": {
1439
+ "type": "object",
1440
+ "description": "The json object with response fields of the call to getDevice",
1441
+ "additionalProperties": {
1442
+ "type": [
1443
+ "string",
1444
+ "number"
1445
+ ]
1446
+ },
1447
+ "properties": {}
1448
+ },
1449
+ "responseDatakey": {
1450
+ "type": "string",
1451
+ "description": "place in the response where the data is - supports jsonquery",
1452
+ "default": ""
1453
+ },
1454
+ "responseFields": {
1455
+ "type": "object",
1456
+ "description": "The json object with response fields of the call to getConfig",
1457
+ "additionalProperties": {
1458
+ "type": [
1459
+ "string",
1460
+ "number"
1461
+ ]
1462
+ },
1463
+ "properties": {}
1464
+ }
1465
+ }
1466
+ }
1467
+ }
1468
+ }
1469
+ },
1470
+ "cache": {
1471
+ "type": "object",
1472
+ "properties": {
1473
+ "enabled": {
1474
+ "type": "boolean",
1475
+ "description": "Whether or not cache is enabled for adapter",
1476
+ "default": false
1477
+ },
1478
+ "entities": {
1479
+ "type": "array",
1480
+ "description": "Information for the cached entities",
1481
+ "items": {
1482
+ "type": "object",
1483
+ "properties": {
1484
+ "entityType": {
1485
+ "type": "string",
1486
+ "description": "The name of the entity - should match adapter entity configuration or a broker (e.g. Device)",
1487
+ "default": ""
1488
+ },
1489
+ "frequency": {
1490
+ "type": "integer",
1491
+ "description": "how long (in minutes) we wait to re-populate the cache",
1492
+ "default": 1440,
1493
+ "maximum": 10080
1494
+ },
1495
+ "flushOnFail": {
1496
+ "type": "boolean",
1497
+ "description": "Whether to clear the cache we have if the populate failed",
1498
+ "default": false
1499
+ },
1500
+ "limit": {
1501
+ "type": "integer",
1502
+ "description": "maximum number of items to keep in cache",
1503
+ "default": 1000
1504
+ },
1505
+ "retryAttempts": {
1506
+ "type": "integer",
1507
+ "description": "number of times to retry the populate call before failure",
1508
+ "default": 5
1509
+ },
1510
+ "sort": {
1511
+ "type": "boolean",
1512
+ "description": "whether to sort the data or not",
1513
+ "default": true
1514
+ },
1515
+ "populate": {
1516
+ "type": "array",
1517
+ "description": "Information for the call(s) used to populate the cache",
1518
+ "items": {
1519
+ "type": "object",
1520
+ "properties": {
1521
+ "path": {
1522
+ "type": "string",
1523
+ "description": "The fully qualified path of the call to getDevice (e.g. /rest/api/device/{deviceid})",
1524
+ "default": ""
1525
+ },
1526
+ "method": {
1527
+ "type": "string",
1528
+ "description": "The method of the call to getDevice",
1529
+ "default": "GET"
1530
+ },
1531
+ "pagination": {
1532
+ "type": "object",
1533
+ "description": "todo",
1534
+ "properties": {
1535
+ "offsetVar": {
1536
+ "type": "string",
1537
+ "description": "Name of variable that defines how to go to next set of results"
1538
+ },
1539
+ "limitVar": {
1540
+ "type": "string",
1541
+ "description": "Name of variable that defines the max results returned in a request"
1542
+ },
1543
+ "incrementBy": {
1544
+ "type": "string",
1545
+ "enum": [
1546
+ "limit",
1547
+ "page"
1548
+ ],
1549
+ "description": "How to incremenet offset. Default limit",
1550
+ "default": "limit"
1551
+ },
1552
+ "requestLocation": {
1553
+ "type": "string",
1554
+ "enum": [
1555
+ "query",
1556
+ "body"
1557
+ ],
1558
+ "description": "Where in request the pagination data goes",
1559
+ "default": "query"
1560
+ }
1561
+ }
1562
+ },
1563
+ "query": {
1564
+ "type": "object",
1565
+ "description": "The json object with query parameters of the call to getDevice",
1566
+ "additionalProperties": {
1567
+ "type": [
1568
+ "string",
1569
+ "number"
1570
+ ]
1571
+ }
1572
+ },
1573
+ "body": {
1574
+ "type": "object",
1575
+ "description": "The json object with body of the call to getDevice",
1576
+ "additionalProperties": {
1577
+ "type": [
1578
+ "string",
1579
+ "number"
1580
+ ]
1581
+ }
1582
+ },
1583
+ "headers": {
1584
+ "type": "object",
1585
+ "description": "The json object with headers of the call to getDevice",
1586
+ "additionalProperties": {
1587
+ "type": [
1588
+ "string",
1589
+ "number"
1590
+ ]
1591
+ }
1592
+ },
1593
+ "handleFailure": {
1594
+ "type": "string",
1595
+ "enum": [
1596
+ "ignore",
1597
+ "fail"
1598
+ ],
1599
+ "description": "return failure or ignore failure",
1600
+ "default": "ignore"
1601
+ },
1602
+ "requestFields": {
1603
+ "type": "object",
1604
+ "description": "The json object with response fields of the call to getDevice",
1605
+ "additionalProperties": {
1606
+ "type": [
1607
+ "string",
1608
+ "number"
1609
+ ]
1610
+ },
1611
+ "properties": {}
1612
+ },
1613
+ "responseDatakey": {
1614
+ "type": "string",
1615
+ "description": "place in the response where the data is - supports jsonquery",
1616
+ "default": ""
1617
+ },
1618
+ "responseFields": {
1619
+ "type": "object",
1620
+ "description": "The json object with response fields of the call to getDevice",
1621
+ "additionalProperties": {
1622
+ "type": [
1623
+ "string",
1624
+ "number"
1625
+ ]
1626
+ }
1627
+ }
1628
+ }
1629
+ }
1630
+ },
1631
+ "cachedTasks": {
1632
+ "type": "array",
1633
+ "description": "Information for the call(s) used to populate the cache",
1634
+ "items": {
1635
+ "type": "object",
1636
+ "properties": {
1637
+ "name": {
1638
+ "type": "string",
1639
+ "description": "the name of the task/action that should utilize cached information",
1640
+ "default": ""
1641
+ },
1642
+ "filterField": {
1643
+ "type": "string",
1644
+ "description": "the field that contains filter information for this call",
1645
+ "default": ""
1646
+ },
1647
+ "filterLoc": {
1648
+ "type": "string",
1649
+ "description": "the field that contains the location of the filter field",
1650
+ "default": ""
1651
+ }
1652
+ }
1653
+ }
1197
1654
  }
1198
1655
  }
1199
1656
  }
@@ -1201,4 +1658,4 @@
1201
1658
  }
1202
1659
  }
1203
1660
  }
1204
- }
1661
+ }