@itentialopensource/adapter-thruk_monitoring 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 (55) hide show
  1. package/AUTH.md +39 -0
  2. package/BROKER.md +199 -0
  3. package/CALLS.md +782 -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 +69 -0
  8. package/PROPERTIES.md +641 -0
  9. package/README.md +235 -576
  10. package/SUMMARY.md +9 -0
  11. package/SYSTEMINFO.md +11 -0
  12. package/TROUBLESHOOT.md +47 -0
  13. package/adapter.js +482 -363
  14. package/adapterBase.js +854 -408
  15. package/entities/.generic/action.json +110 -5
  16. package/entities/.generic/schema.json +6 -1
  17. package/error.json +6 -0
  18. package/metadata.json +47 -0
  19. package/package.json +27 -22
  20. package/pronghorn.json +693 -90
  21. package/propertiesDecorators.json +14 -0
  22. package/propertiesSchema.json +828 -7
  23. package/refs?service=git-upload-pack +0 -0
  24. package/report/adapterInfo.json +10 -0
  25. package/report/updateReport1653680220789.json +120 -0
  26. package/report/updateReport1691508933044.json +120 -0
  27. package/report/updateReport1692202249790.json +120 -0
  28. package/report/updateReport1692203343592.json +120 -0
  29. package/report/updateReport1694469545834.json +120 -0
  30. package/report/updateReport1698423037978.json +120 -0
  31. package/sampleProperties.json +154 -4
  32. package/test/integration/adapterTestBasicGet.js +3 -5
  33. package/test/integration/adapterTestConnectivity.js +91 -42
  34. package/test/integration/adapterTestIntegration.js +155 -106
  35. package/test/unit/adapterBaseTestUnit.js +388 -308
  36. package/test/unit/adapterTestUnit.js +484 -243
  37. package/utils/adapterInfo.js +206 -0
  38. package/utils/addAuth.js +94 -0
  39. package/utils/artifactize.js +1 -1
  40. package/utils/basicGet.js +1 -14
  41. package/utils/checkMigrate.js +1 -1
  42. package/utils/entitiesToDB.js +179 -0
  43. package/utils/findPath.js +1 -1
  44. package/utils/methodDocumentor.js +273 -0
  45. package/utils/modify.js +14 -16
  46. package/utils/packModificationScript.js +1 -1
  47. package/utils/patches2bundledDeps.js +90 -0
  48. package/utils/pre-commit.sh +5 -0
  49. package/utils/removeHooks.js +20 -0
  50. package/utils/taskMover.js +309 -0
  51. package/utils/tbScript.js +129 -53
  52. package/utils/tbUtils.js +125 -25
  53. package/utils/testRunner.js +17 -17
  54. package/utils/troubleshootingAdapter.js +10 -31
  55. package/workflows/README.md +0 -3
package/CALLS.md ADDED
@@ -0,0 +1,782 @@
1
+ ## Using this Adapter
2
+
3
+ The `adapter.js` file contains the calls the adapter makes available to the rest of the Itential Platform. The API detailed for these calls should be available through JSDOC. The following is a brief summary of the calls.
4
+
5
+ ### Generic Adapter Calls
6
+
7
+ These are adapter methods that IAP or you might use. There are some other methods not shown here that might be used for internal adapter functionality.
8
+
9
+ <table border="1" class="bordered-table">
10
+ <tr>
11
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Method Signature</span></th>
12
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Description</span></th>
13
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Workflow?</span></th>
14
+ </tr>
15
+ <tr>
16
+ <td style="padding:15px">connect()</td>
17
+ <td style="padding:15px">This call is run when the Adapter is first loaded by he Itential Platform. It validates the properties have been provided correctly.</td>
18
+ <td style="padding:15px">No</td>
19
+ </tr>
20
+ <tr>
21
+ <td style="padding:15px">healthCheck(callback)</td>
22
+ <td style="padding:15px">This call ensures that the adapter can communicate with Adapter for Thruk Monitoring. The actual call that is used is defined in the adapter properties and .system entities action.json file.</td>
23
+ <td style="padding:15px">No</td>
24
+ </tr>
25
+ <tr>
26
+ <td style="padding:15px">refreshProperties(properties)</td>
27
+ <td style="padding:15px">This call provides the adapter the ability to accept property changes without having to restart the adapter.</td>
28
+ <td style="padding:15px">No</td>
29
+ </tr>
30
+ <tr>
31
+ <td style="padding:15px">encryptProperty(property, technique, callback)</td>
32
+ <td style="padding:15px">This call will take the provided property and technique, and return the property encrypted with the technique. This allows the property to be used in the adapterProps section for the credential password so that the password does not have to be in clear text. The adapter will decrypt the property as needed for communications with Adapter for Thruk Monitoring.</td>
33
+ <td style="padding:15px">No</td>
34
+ </tr>
35
+ <tr>
36
+ <td style="padding:15px">iapUpdateAdapterConfiguration(configFile, changes, entity, type, action, callback)</td>
37
+ <td style="padding:15px">This call provides the ability to update the adapter configuration from IAP - includes actions, schema, mockdata and other configurations.</td>
38
+ <td style="padding:15px">Yes</td>
39
+ </tr>
40
+ <tr>
41
+ <td style="padding:15px">iapSuspendAdapter(mode, callback)</td>
42
+ <td style="padding:15px">This call provides the ability to suspend the adapter and either have requests rejected or put into a queue to be processed after the adapter is resumed.</td>
43
+ <td style="padding:15px">Yes</td>
44
+ </tr>
45
+ <tr>
46
+ <td style="padding:15px">iapUnsuspendAdapter(callback)</td>
47
+ <td style="padding:15px">This call provides the ability to resume a suspended adapter. Any requests in queue will be processed before new requests.</td>
48
+ <td style="padding:15px">Yes</td>
49
+ </tr>
50
+ <tr>
51
+ <td style="padding:15px">iapGetAdapterQueue(callback)</td>
52
+ <td style="padding:15px">This call will return the requests that are waiting in the queue if throttling is enabled.</td>
53
+ <td style="padding:15px">Yes</td>
54
+ </tr>
55
+ <tr>
56
+ <td style="padding:15px">iapFindAdapterPath(apiPath, callback)</td>
57
+ <td style="padding:15px">This call provides the ability to see if a particular API path is supported by the adapter.</td>
58
+ <td style="padding:15px">Yes</td>
59
+ </tr>
60
+ <tr>
61
+ <td style="padding:15px">iapTroubleshootAdapter(props, persistFlag, adapter, callback)</td>
62
+ <td style="padding:15px">This call can be used to check on the performance of the adapter - it checks connectivity, healthcheck and basic get calls.</td>
63
+ <td style="padding:15px">Yes</td>
64
+ </tr>
65
+ <tr>
66
+ <td style="padding:15px">iapRunAdapterHealthcheck(adapter, callback)</td>
67
+ <td style="padding:15px">This call will return the results of a healthcheck.</td>
68
+ <td style="padding:15px">Yes</td>
69
+ </tr>
70
+ <tr>
71
+ <td style="padding:15px">iapRunAdapterConnectivity(callback)</td>
72
+ <td style="padding:15px">This call will return the results of a connectivity check.</td>
73
+ <td style="padding:15px">Yes</td>
74
+ </tr>
75
+ <tr>
76
+ <td style="padding:15px">iapRunAdapterBasicGet(callback)</td>
77
+ <td style="padding:15px">This call will return the results of running basic get API calls.</td>
78
+ <td style="padding:15px">Yes</td>
79
+ </tr>
80
+ <tr>
81
+ <td style="padding:15px">iapMoveAdapterEntitiesToDB(callback)</td>
82
+ <td style="padding:15px">This call will push the adapter configuration from the entities directory into the Adapter or IAP Database.</td>
83
+ <td style="padding:15px">Yes</td>
84
+ </tr>
85
+ <tr>
86
+ <td style="padding:15px">iapDeactivateTasks(tasks, callback)</td>
87
+ <td style="padding:15px">This call provides the ability to remove tasks from the adapter.</td>
88
+ <td style="padding:15px">Yes</td>
89
+ </tr>
90
+ <tr>
91
+ <td style="padding:15px">iapActivateTasks(tasks, callback)</td>
92
+ <td style="padding:15px">This call provides the ability to add deactivated tasks back into the adapter.</td>
93
+ <td style="padding:15px">Yes</td>
94
+ </tr>
95
+ <tr>
96
+ <td style="padding:15px">iapExpandedGenericAdapterRequest(metadata, uriPath, restMethod, pathVars, queryData, requestBody, addlHeaders, callback)</td>
97
+ <td style="padding:15px">This is an expanded Generic Call. The metadata object allows us to provide many new capabilities within the generic request.</td>
98
+ <td style="padding:15px">Yes</td>
99
+ </tr>
100
+ <tr>
101
+ <td style="padding:15px">genericAdapterRequest(uriPath, restMethod, queryData, requestBody, addlHeaders, callback)</td>
102
+ <td style="padding:15px">This call allows you to provide the path to have the adapter call. It is an easy way to incorporate paths that have not been built into the adapter yet.</td>
103
+ <td style="padding:15px">Yes</td>
104
+ </tr>
105
+ <tr>
106
+ <td style="padding:15px">genericAdapterRequestNoBasePath(uriPath, restMethod, queryData, requestBody, addlHeaders, callback)</td>
107
+ <td style="padding:15px">This call is the same as the genericAdapterRequest only it does not add a base_path or version to the call.</td>
108
+ <td style="padding:15px">Yes</td>
109
+ </tr>
110
+ <tr>
111
+ <td style="padding:15px">iapRunAdapterLint(callback)</td>
112
+ <td style="padding:15px">Runs lint on the addapter and provides the information back.</td>
113
+ <td style="padding:15px">Yes</td>
114
+ </tr>
115
+ <tr>
116
+ <td style="padding:15px">iapRunAdapterTests(callback)</td>
117
+ <td style="padding:15px">Runs baseunit and unit tests on the adapter and provides the information back.</td>
118
+ <td style="padding:15px">Yes</td>
119
+ </tr>
120
+ <tr>
121
+ <td style="padding:15px">iapGetAdapterInventory(callback)</td>
122
+ <td style="padding:15px">This call provides some inventory related information about the adapter.</td>
123
+ <td style="padding:15px">Yes</td>
124
+ </tr>
125
+ </table>
126
+ <br>
127
+
128
+ ### Adapter Cache Calls
129
+
130
+ These are adapter methods that are used for adapter caching. If configured, the adapter will cache based on the interval provided. However, you can force a population of the cache manually as well.
131
+
132
+ <table border="1" class="bordered-table">
133
+ <tr>
134
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Method Signature</span></th>
135
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Description</span></th>
136
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Workflow?</span></th>
137
+ </tr>
138
+ <tr>
139
+ <td style="padding:15px">iapPopulateEntityCache(entityTypes, callback)</td>
140
+ <td style="padding:15px">This call populates the adapter cache.</td>
141
+ <td style="padding:15px">Yes</td>
142
+ </tr>
143
+ <tr>
144
+ <td style="padding:15px">iapRetrieveEntitiesCache(entityType, options, callback)</td>
145
+ <td style="padding:15px">This call retrieves the specific items from the adapter cache.</td>
146
+ <td style="padding:15px">Yes</td>
147
+ </tr>
148
+ </table>
149
+ <br>
150
+
151
+ ### Adapter Broker Calls
152
+
153
+ These are adapter methods that are used to integrate to IAP Brokers. This adapter currently supports the following broker calls.
154
+
155
+ <table border="1" class="bordered-table">
156
+ <tr>
157
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Method Signature</span></th>
158
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Description</span></th>
159
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Workflow?</span></th>
160
+ </tr>
161
+ <tr>
162
+ <td style="padding:15px">hasEntities(entityType, entityList, callback)</td>
163
+ <td style="padding:15px">This call is utilized by the IAP Device Broker to determine if the adapter has a specific entity and item of the entity.</td>
164
+ <td style="padding:15px">No</td>
165
+ </tr>
166
+ <tr>
167
+ <td style="padding:15px">getDevice(deviceName, callback)</td>
168
+ <td style="padding:15px">This call returns the details of the requested device.</td>
169
+ <td style="padding:15px">No</td>
170
+ </tr>
171
+ <tr>
172
+ <td style="padding:15px">getDevicesFiltered(options, callback)</td>
173
+ <td style="padding:15px">This call returns the list of devices that match the criteria provided in the options filter.</td>
174
+ <td style="padding:15px">No</td>
175
+ </tr>
176
+ <tr>
177
+ <td style="padding:15px">isAlive(deviceName, callback)</td>
178
+ <td style="padding:15px">This call returns whether the device status is active</td>
179
+ <td style="padding:15px">No</td>
180
+ </tr>
181
+ <tr>
182
+ <td style="padding:15px">getConfig(deviceName, format, callback)</td>
183
+ <td style="padding:15px">This call returns the configuration for the selected device.</td>
184
+ <td style="padding:15px">No</td>
185
+ </tr>
186
+ <tr>
187
+ <td style="padding:15px">iapGetDeviceCount(callback)</td>
188
+ <td style="padding:15px">This call returns the count of devices.</td>
189
+ <td style="padding:15px">No</td>
190
+ </tr>
191
+ </table>
192
+ <br>
193
+
194
+ ### Specific Adapter Calls
195
+
196
+ Specific adapter calls are built based on the API of the Thruk Monitoring. The Adapter Builder creates the proper method comments for generating JS-DOC for the adapter. This is the best way to get information on the calls.
197
+
198
+ <table border="1" class="bordered-table">
199
+ <tr>
200
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Method Signature</span></th>
201
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Description</span></th>
202
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Path</span></th>
203
+ <th bgcolor="lightgrey" style="padding:15px"><span style="font-size:12.0pt">Workflow?</span></th>
204
+ </tr>
205
+ <tr>
206
+ <td style="padding:15px">getAlerts(callback)</td>
207
+ <td style="padding:15px">Get Alerts</td>
208
+ <td style="padding:15px">{base_path}/{version}/alerts?{query}</td>
209
+ <td style="padding:15px">Yes</td>
210
+ </tr>
211
+ <tr>
212
+ <td style="padding:15px">getStatistics(callback)</td>
213
+ <td style="padding:15px">Get Statistics</td>
214
+ <td style="padding:15px">{base_path}/{version}/checks/stats?{query}</td>
215
+ <td style="padding:15px">Yes</td>
216
+ </tr>
217
+ <tr>
218
+ <td style="padding:15px">postCommand(body, callback)</td>
219
+ <td style="padding:15px">Post Command</td>
220
+ <td style="padding:15px">{base_path}/{version}/cmd?{query}</td>
221
+ <td style="padding:15px">Yes</td>
222
+ </tr>
223
+ <tr>
224
+ <td style="padding:15px">getCommands(callback)</td>
225
+ <td style="padding:15px">Get Commands</td>
226
+ <td style="padding:15px">{base_path}/{version}/commands?{query}</td>
227
+ <td style="padding:15px">Yes</td>
228
+ </tr>
229
+ <tr>
230
+ <td style="padding:15px">getCommand(name, callback)</td>
231
+ <td style="padding:15px">Get Command</td>
232
+ <td style="padding:15px">{base_path}/{version}/commands/{pathv1}?{query}</td>
233
+ <td style="padding:15px">Yes</td>
234
+ </tr>
235
+ <tr>
236
+ <td style="padding:15px">getCommandConfig(name, callback)</td>
237
+ <td style="padding:15px">Get Command Config</td>
238
+ <td style="padding:15px">{base_path}/{version}/commands/{pathv1}/config?{query}</td>
239
+ <td style="padding:15px">Yes</td>
240
+ </tr>
241
+ <tr>
242
+ <td style="padding:15px">postCommandConfig(name, body, callback)</td>
243
+ <td style="padding:15px">Post Command Config</td>
244
+ <td style="padding:15px">{base_path}/{version}/commands/{pathv1}/config?{query}</td>
245
+ <td style="padding:15px">Yes</td>
246
+ </tr>
247
+ <tr>
248
+ <td style="padding:15px">patchCommandConfig(name, body, callback)</td>
249
+ <td style="padding:15px">Patch Command Config</td>
250
+ <td style="padding:15px">{base_path}/{version}/commands/{pathv1}/config?{query}</td>
251
+ <td style="padding:15px">Yes</td>
252
+ </tr>
253
+ <tr>
254
+ <td style="padding:15px">deleteCommandConfig(name, callback)</td>
255
+ <td style="padding:15px">Delete Command Cofig</td>
256
+ <td style="padding:15px">{base_path}/{version}/commands/{pathv1}/config?{query}</td>
257
+ <td style="padding:15px">Yes</td>
258
+ </tr>
259
+ <tr>
260
+ <td style="padding:15px">getComments(callback)</td>
261
+ <td style="padding:15px">Get Comments</td>
262
+ <td style="padding:15px">{base_path}/{version}/comments?{query}</td>
263
+ <td style="padding:15px">Yes</td>
264
+ </tr>
265
+ <tr>
266
+ <td style="padding:15px">getComment(id, callback)</td>
267
+ <td style="padding:15px">Get Comment</td>
268
+ <td style="padding:15px">{base_path}/{version}/comments/{pathv1}?{query}</td>
269
+ <td style="padding:15px">Yes</td>
270
+ </tr>
271
+ <tr>
272
+ <td style="padding:15px">postConfigCheck(callback)</td>
273
+ <td style="padding:15px">Post Config Check</td>
274
+ <td style="padding:15px">{base_path}/{version}/config/check?{query}</td>
275
+ <td style="padding:15px">Yes</td>
276
+ </tr>
277
+ <tr>
278
+ <td style="padding:15px">getConfigDiff(callback)</td>
279
+ <td style="padding:15px">Get Config Diff</td>
280
+ <td style="padding:15px">{base_path}/{version}/config/diff?{query}</td>
281
+ <td style="padding:15px">Yes</td>
282
+ </tr>
283
+ <tr>
284
+ <td style="padding:15px">postConfigDiscard(callback)</td>
285
+ <td style="padding:15px">Post Config Discard</td>
286
+ <td style="padding:15px">{base_path}/{version}/config/discard?{query}</td>
287
+ <td style="padding:15px">Yes</td>
288
+ </tr>
289
+ <tr>
290
+ <td style="padding:15px">getConfigFiles(callback)</td>
291
+ <td style="padding:15px">Get Config Files</td>
292
+ <td style="padding:15px">{base_path}/{version}/config/files?{query}</td>
293
+ <td style="padding:15px">Yes</td>
294
+ </tr>
295
+ <tr>
296
+ <td style="padding:15px">getConfigFullObjects(callback)</td>
297
+ <td style="padding:15px">Get Config Full Objects</td>
298
+ <td style="padding:15px">{base_path}/{version}/config/fullobjects?{query}</td>
299
+ <td style="padding:15px">Yes</td>
300
+ </tr>
301
+ <tr>
302
+ <td style="padding:15px">getConfigObjects(callback)</td>
303
+ <td style="padding:15px">Get Config Objects</td>
304
+ <td style="padding:15px">{base_path}/{version}/config/objects?{query}</td>
305
+ <td style="padding:15px">Yes</td>
306
+ </tr>
307
+ <tr>
308
+ <td style="padding:15px">postConfigObjects(body, callback)</td>
309
+ <td style="padding:15px">Post Config Objects</td>
310
+ <td style="padding:15px">{base_path}/{version}/config/objects?{query}</td>
311
+ <td style="padding:15px">Yes</td>
312
+ </tr>
313
+ <tr>
314
+ <td style="padding:15px">patchConfigObjects(body, callback)</td>
315
+ <td style="padding:15px">Patch Config Objects</td>
316
+ <td style="padding:15px">{base_path}/{version}/config/objects?{query}</td>
317
+ <td style="padding:15px">Yes</td>
318
+ </tr>
319
+ <tr>
320
+ <td style="padding:15px">patchConfigObject(id, body, callback)</td>
321
+ <td style="padding:15px">Patch Config Object</td>
322
+ <td style="padding:15px">{base_path}/{version}/config/objects/{pathv1}?{query}</td>
323
+ <td style="padding:15px">Yes</td>
324
+ </tr>
325
+ <tr>
326
+ <td style="padding:15px">postConfigObject(id, body, callback)</td>
327
+ <td style="padding:15px">Post Config Object</td>
328
+ <td style="padding:15px">{base_path}/{version}/config/objects/{pathv1}?{query}</td>
329
+ <td style="padding:15px">Yes</td>
330
+ </tr>
331
+ <tr>
332
+ <td style="padding:15px">deleteConfigObject(name, callback)</td>
333
+ <td style="padding:15px">Delete Config Object</td>
334
+ <td style="padding:15px">{base_path}/{version}/config/objects/{pathv1}?{query}</td>
335
+ <td style="padding:15px">Yes</td>
336
+ </tr>
337
+ <tr>
338
+ <td style="padding:15px">getConfigPrecheck(callback)</td>
339
+ <td style="padding:15px">Get Config Pre Check</td>
340
+ <td style="padding:15px">{base_path}/{version}/config/precheck?{query}</td>
341
+ <td style="padding:15px">Yes</td>
342
+ </tr>
343
+ <tr>
344
+ <td style="padding:15px">postConfigReload(callback)</td>
345
+ <td style="padding:15px">Post Config Reload</td>
346
+ <td style="padding:15px">{base_path}/{version}/config/reload?{query}</td>
347
+ <td style="padding:15px">Yes</td>
348
+ </tr>
349
+ <tr>
350
+ <td style="padding:15px">postConfigRevert(callback)</td>
351
+ <td style="padding:15px">Post Config Revert</td>
352
+ <td style="padding:15px">{base_path}/{version}/config/revert?{query}</td>
353
+ <td style="padding:15px">Yes</td>
354
+ </tr>
355
+ <tr>
356
+ <td style="padding:15px">postConfigSave(callback)</td>
357
+ <td style="padding:15px">Post Config Save</td>
358
+ <td style="padding:15px">{base_path}/{version}/config/save?{query}</td>
359
+ <td style="padding:15px">Yes</td>
360
+ </tr>
361
+ <tr>
362
+ <td style="padding:15px">getContactGroups(callback)</td>
363
+ <td style="padding:15px">Get Contact Groups</td>
364
+ <td style="padding:15px">{base_path}/{version}/contactgroups?{query}</td>
365
+ <td style="padding:15px">Yes</td>
366
+ </tr>
367
+ <tr>
368
+ <td style="padding:15px">getContactGroup(name, callback)</td>
369
+ <td style="padding:15px">Get Contact Group</td>
370
+ <td style="padding:15px">{base_path}/{version}/contactgroups/{pathv1}?{query}</td>
371
+ <td style="padding:15px">Yes</td>
372
+ </tr>
373
+ <tr>
374
+ <td style="padding:15px">getContactGroupsConfig(name, callback)</td>
375
+ <td style="padding:15px">Get Contact Groups Config</td>
376
+ <td style="padding:15px">{base_path}/{version}/contactgroups/{pathv1}/config?{query}</td>
377
+ <td style="padding:15px">Yes</td>
378
+ </tr>
379
+ <tr>
380
+ <td style="padding:15px">postContactGroupsConfig(name, body, callback)</td>
381
+ <td style="padding:15px">Post Contact Groups Config</td>
382
+ <td style="padding:15px">{base_path}/{version}/contactgroups/{pathv1}/config?{query}</td>
383
+ <td style="padding:15px">Yes</td>
384
+ </tr>
385
+ <tr>
386
+ <td style="padding:15px">patchContactGroupsConfig(name, body, callback)</td>
387
+ <td style="padding:15px">Patch Contact Groups Config</td>
388
+ <td style="padding:15px">{base_path}/{version}/contactgroups/{pathv1}/config?{query}</td>
389
+ <td style="padding:15px">Yes</td>
390
+ </tr>
391
+ <tr>
392
+ <td style="padding:15px">deleteContactsGroupConfig(name, callback)</td>
393
+ <td style="padding:15px">Delete Contact Groups Config</td>
394
+ <td style="padding:15px">{base_path}/{version}/contactgroups/{pathv1}/config?{query}</td>
395
+ <td style="padding:15px">Yes</td>
396
+ </tr>
397
+ <tr>
398
+ <td style="padding:15px">getContacts(callback)</td>
399
+ <td style="padding:15px">Get Contacts</td>
400
+ <td style="padding:15px">{base_path}/{version}/contacts?{query}</td>
401
+ <td style="padding:15px">Yes</td>
402
+ </tr>
403
+ <tr>
404
+ <td style="padding:15px">getContact(name, callback)</td>
405
+ <td style="padding:15px">Get Contact</td>
406
+ <td style="padding:15px">{base_path}/{version}/contacts/{pathv1}?{query}</td>
407
+ <td style="padding:15px">Yes</td>
408
+ </tr>
409
+ <tr>
410
+ <td style="padding:15px">getContactConfig(name, callback)</td>
411
+ <td style="padding:15px">Get Contact Config</td>
412
+ <td style="padding:15px">{base_path}/{version}/contacts/{pathv1}/config?{query}</td>
413
+ <td style="padding:15px">Yes</td>
414
+ </tr>
415
+ <tr>
416
+ <td style="padding:15px">postContactConfig(name, body, callback)</td>
417
+ <td style="padding:15px">Post Contact Config</td>
418
+ <td style="padding:15px">{base_path}/{version}/contacts/{pathv1}/config?{query}</td>
419
+ <td style="padding:15px">Yes</td>
420
+ </tr>
421
+ <tr>
422
+ <td style="padding:15px">patchContactConfig(name, body, callback)</td>
423
+ <td style="padding:15px">Patch Contact Config</td>
424
+ <td style="padding:15px">{base_path}/{version}/contacts/{pathv1}/config?{query}</td>
425
+ <td style="padding:15px">Yes</td>
426
+ </tr>
427
+ <tr>
428
+ <td style="padding:15px">deleteContactConfig(name, callback)</td>
429
+ <td style="padding:15px">Delete Contact Config</td>
430
+ <td style="padding:15px">{base_path}/{version}/contacts/{pathv1}/config?{query}</td>
431
+ <td style="padding:15px">Yes</td>
432
+ </tr>
433
+ <tr>
434
+ <td style="padding:15px">getDowntimes(callback)</td>
435
+ <td style="padding:15px">Get Downtimes</td>
436
+ <td style="padding:15px">{base_path}/{version}/downtimes?{query}</td>
437
+ <td style="padding:15px">Yes</td>
438
+ </tr>
439
+ <tr>
440
+ <td style="padding:15px">getDowntime(id, callback)</td>
441
+ <td style="padding:15px">Get Downtime</td>
442
+ <td style="padding:15px">{base_path}/{version}/downtimes/{pathv1}?{query}</td>
443
+ <td style="padding:15px">Yes</td>
444
+ </tr>
445
+ <tr>
446
+ <td style="padding:15px">getHostgroups(callback)</td>
447
+ <td style="padding:15px">Get Hostgroups</td>
448
+ <td style="padding:15px">{base_path}/{version}/hostgroups?{query}</td>
449
+ <td style="padding:15px">Yes</td>
450
+ </tr>
451
+ <tr>
452
+ <td style="padding:15px">getHostgroup(name, callback)</td>
453
+ <td style="padding:15px">Get Hostgroup</td>
454
+ <td style="padding:15px">{base_path}/{version}/hostgroups/{pathv1}?{query}</td>
455
+ <td style="padding:15px">Yes</td>
456
+ </tr>
457
+ <tr>
458
+ <td style="padding:15px">getHostgroupConfig(name, callback)</td>
459
+ <td style="padding:15px">Get Hostgroup Config</td>
460
+ <td style="padding:15px">{base_path}/{version}/hostgroups/{pathv1}/config?{query}</td>
461
+ <td style="padding:15px">Yes</td>
462
+ </tr>
463
+ <tr>
464
+ <td style="padding:15px">postHostgroupConfig(name, body, callback)</td>
465
+ <td style="padding:15px">Post Hostgroup Config</td>
466
+ <td style="padding:15px">{base_path}/{version}/hostgroups/{pathv1}/config?{query}</td>
467
+ <td style="padding:15px">Yes</td>
468
+ </tr>
469
+ <tr>
470
+ <td style="padding:15px">patchHostgroupConfig(name, body, callback)</td>
471
+ <td style="padding:15px">Patch Hostgroup Config</td>
472
+ <td style="padding:15px">{base_path}/{version}/hostgroups/{pathv1}/config?{query}</td>
473
+ <td style="padding:15px">Yes</td>
474
+ </tr>
475
+ <tr>
476
+ <td style="padding:15px">deleteHostgroupConfig(name, callback)</td>
477
+ <td style="padding:15px">Delete Hostgroup Config</td>
478
+ <td style="padding:15px">{base_path}/{version}/hostgroups/{pathv1}/config?{query}</td>
479
+ <td style="padding:15px">Yes</td>
480
+ </tr>
481
+ <tr>
482
+ <td style="padding:15px">getHostgroupOutages(name, callback)</td>
483
+ <td style="padding:15px">Get Hostgroup Outages</td>
484
+ <td style="padding:15px">{base_path}/{version}/hostgroups/{pathv1}/outages?{query}</td>
485
+ <td style="padding:15px">Yes</td>
486
+ </tr>
487
+ <tr>
488
+ <td style="padding:15px">getHostgroupStats(name, callback)</td>
489
+ <td style="padding:15px">Get Hostgroup Stats</td>
490
+ <td style="padding:15px">{base_path}/{version}/hostgroups/{pathv1}/stats?{query}</td>
491
+ <td style="padding:15px">Yes</td>
492
+ </tr>
493
+ <tr>
494
+ <td style="padding:15px">getHosts(callback)</td>
495
+ <td style="padding:15px">Get Hosts</td>
496
+ <td style="padding:15px">{base_path}/{version}/hosts?{query}</td>
497
+ <td style="padding:15px">Yes</td>
498
+ </tr>
499
+ <tr>
500
+ <td style="padding:15px">getHost(name, callback)</td>
501
+ <td style="padding:15px">Get Host</td>
502
+ <td style="padding:15px">{base_path}/{version}/hosts/{pathv1}?{query}</td>
503
+ <td style="padding:15px">Yes</td>
504
+ </tr>
505
+ <tr>
506
+ <td style="padding:15px">getHostAlerts(name, callback)</td>
507
+ <td style="padding:15px">Get Host Alerts</td>
508
+ <td style="padding:15px">{base_path}/{version}/hosts/{pathv1}/alerts?{query}</td>
509
+ <td style="padding:15px">Yes</td>
510
+ </tr>
511
+ <tr>
512
+ <td style="padding:15px">getHostCommandLine(name, callback)</td>
513
+ <td style="padding:15px">Get Host Command Line</td>
514
+ <td style="padding:15px">{base_path}/{version}/hosts/{pathv1}/commandline?{query}</td>
515
+ <td style="padding:15px">Yes</td>
516
+ </tr>
517
+ <tr>
518
+ <td style="padding:15px">getHostConfig(name, callback)</td>
519
+ <td style="padding:15px">Get Host Config</td>
520
+ <td style="padding:15px">{base_path}/{version}/hosts/{pathv1}/config?{query}</td>
521
+ <td style="padding:15px">Yes</td>
522
+ </tr>
523
+ <tr>
524
+ <td style="padding:15px">postHostConfig(name, body, callback)</td>
525
+ <td style="padding:15px">Post Host Config</td>
526
+ <td style="padding:15px">{base_path}/{version}/hosts/{pathv1}/config?{query}</td>
527
+ <td style="padding:15px">Yes</td>
528
+ </tr>
529
+ <tr>
530
+ <td style="padding:15px">patchHostConfig(name, body, callback)</td>
531
+ <td style="padding:15px">Patch Host Config</td>
532
+ <td style="padding:15px">{base_path}/{version}/hosts/{pathv1}/config?{query}</td>
533
+ <td style="padding:15px">Yes</td>
534
+ </tr>
535
+ <tr>
536
+ <td style="padding:15px">deleteHostConfig(name, callback)</td>
537
+ <td style="padding:15px">Delete Host Config</td>
538
+ <td style="padding:15px">{base_path}/{version}/hosts/{pathv1}/config?{query}</td>
539
+ <td style="padding:15px">Yes</td>
540
+ </tr>
541
+ <tr>
542
+ <td style="padding:15px">getHostNotifications(name, callback)</td>
543
+ <td style="padding:15px">Get Host Notifications</td>
544
+ <td style="padding:15px">{base_path}/{version}/hosts/{pathv1}/notifications?{query}</td>
545
+ <td style="padding:15px">Yes</td>
546
+ </tr>
547
+ <tr>
548
+ <td style="padding:15px">getHostOutages(name, callback)</td>
549
+ <td style="padding:15px">Get Host Outages</td>
550
+ <td style="padding:15px">{base_path}/{version}/hosts/{pathv1}/outages?{query}</td>
551
+ <td style="padding:15px">Yes</td>
552
+ </tr>
553
+ <tr>
554
+ <td style="padding:15px">getHostServices(name, callback)</td>
555
+ <td style="padding:15px">Get Host Services</td>
556
+ <td style="padding:15px">{base_path}/{version}/hosts/{pathv1}/services?{query}</td>
557
+ <td style="padding:15px">Yes</td>
558
+ </tr>
559
+ <tr>
560
+ <td style="padding:15px">getOutages(callback)</td>
561
+ <td style="padding:15px">Get Outages</td>
562
+ <td style="padding:15px">{base_path}/{version}/hosts/outages?{query}</td>
563
+ <td style="padding:15px">Yes</td>
564
+ </tr>
565
+ <tr>
566
+ <td style="padding:15px">getHostStats(callback)</td>
567
+ <td style="padding:15px">Get Host Stats</td>
568
+ <td style="padding:15px">{base_path}/{version}/hosts/stats?{query}</td>
569
+ <td style="padding:15px">Yes</td>
570
+ </tr>
571
+ <tr>
572
+ <td style="padding:15px">getHostTotals(callback)</td>
573
+ <td style="padding:15px">Get Host Totals</td>
574
+ <td style="padding:15px">{base_path}/{version}/hosts/totals?{query}</td>
575
+ <td style="padding:15px">Yes</td>
576
+ </tr>
577
+ <tr>
578
+ <td style="padding:15px">getIndex(callback)</td>
579
+ <td style="padding:15px">Get Index</td>
580
+ <td style="padding:15px">{base_path}/{version}/index?{query}</td>
581
+ <td style="padding:15px">Yes</td>
582
+ </tr>
583
+ <tr>
584
+ <td style="padding:15px">getLMDSites(callback)</td>
585
+ <td style="padding:15px">Get LMD Sites</td>
586
+ <td style="padding:15px">{base_path}/{version}/lmd/sites?{query}</td>
587
+ <td style="padding:15px">Yes</td>
588
+ </tr>
589
+ <tr>
590
+ <td style="padding:15px">getLogs(callback)</td>
591
+ <td style="padding:15px">Get Logs</td>
592
+ <td style="padding:15px">{base_path}/{version}/logs?{query}</td>
593
+ <td style="padding:15px">Yes</td>
594
+ </tr>
595
+ <tr>
596
+ <td style="padding:15px">getNotifications(callback)</td>
597
+ <td style="padding:15px">Get Notifications</td>
598
+ <td style="padding:15px">{base_path}/{version}/notifications?{query}</td>
599
+ <td style="padding:15px">Yes</td>
600
+ </tr>
601
+ <tr>
602
+ <td style="padding:15px">getProcessInfo(callback)</td>
603
+ <td style="padding:15px">Get Process Info</td>
604
+ <td style="padding:15px">{base_path}/{version}/processinfo?{query}</td>
605
+ <td style="padding:15px">Yes</td>
606
+ </tr>
607
+ <tr>
608
+ <td style="padding:15px">getProcessInfoStats(callback)</td>
609
+ <td style="padding:15px">Get Process Info Stats</td>
610
+ <td style="padding:15px">{base_path}/{version}/processinfo/stats?{query}</td>
611
+ <td style="padding:15px">Yes</td>
612
+ </tr>
613
+ <tr>
614
+ <td style="padding:15px">getServiceGroups(callback)</td>
615
+ <td style="padding:15px">Get Service Groups</td>
616
+ <td style="padding:15px">{base_path}/{version}/servicegroups?{query}</td>
617
+ <td style="padding:15px">Yes</td>
618
+ </tr>
619
+ <tr>
620
+ <td style="padding:15px">getServiceGroup(name, callback)</td>
621
+ <td style="padding:15px">Get Service Group</td>
622
+ <td style="padding:15px">{base_path}/{version}/servicegroups/{pathv1}?{query}</td>
623
+ <td style="padding:15px">Yes</td>
624
+ </tr>
625
+ <tr>
626
+ <td style="padding:15px">getServiceGroupConfig(name, callback)</td>
627
+ <td style="padding:15px">Get Service Group Config</td>
628
+ <td style="padding:15px">{base_path}/{version}/servicegroups/{pathv1}/config?{query}</td>
629
+ <td style="padding:15px">Yes</td>
630
+ </tr>
631
+ <tr>
632
+ <td style="padding:15px">postServiceGroupConfig(name, body, callback)</td>
633
+ <td style="padding:15px">Post Service Group Config</td>
634
+ <td style="padding:15px">{base_path}/{version}/servicegroups/{pathv1}/config?{query}</td>
635
+ <td style="padding:15px">Yes</td>
636
+ </tr>
637
+ <tr>
638
+ <td style="padding:15px">patchServiceGroupConfig(name, body, callback)</td>
639
+ <td style="padding:15px">Patch Service Group Config</td>
640
+ <td style="padding:15px">{base_path}/{version}/servicegroups/{pathv1}/config?{query}</td>
641
+ <td style="padding:15px">Yes</td>
642
+ </tr>
643
+ <tr>
644
+ <td style="padding:15px">deleteServiceGroupConfig(name, callback)</td>
645
+ <td style="padding:15px">Delete Service Group Config</td>
646
+ <td style="padding:15px">{base_path}/{version}/servicegroups/{pathv1}/config?{query}</td>
647
+ <td style="padding:15px">Yes</td>
648
+ </tr>
649
+ <tr>
650
+ <td style="padding:15px">getServiceGroupOutages(name, callback)</td>
651
+ <td style="padding:15px">Get Service Group Outages</td>
652
+ <td style="padding:15px">{base_path}/{version}/servicegroups/{pathv1}/outages?{query}</td>
653
+ <td style="padding:15px">Yes</td>
654
+ </tr>
655
+ <tr>
656
+ <td style="padding:15px">getServiceGroupStats(name, callback)</td>
657
+ <td style="padding:15px">Get Service Group Stats</td>
658
+ <td style="padding:15px">{base_path}/{version}/servicegroups/{pathv1}/stats?{query}</td>
659
+ <td style="padding:15px">Yes</td>
660
+ </tr>
661
+ <tr>
662
+ <td style="padding:15px">getServices(callback)</td>
663
+ <td style="padding:15px">Get Services</td>
664
+ <td style="padding:15px">{base_path}/{version}/services?{query}</td>
665
+ <td style="padding:15px">Yes</td>
666
+ </tr>
667
+ <tr>
668
+ <td style="padding:15px">getHostService(host, service, callback)</td>
669
+ <td style="padding:15px">Get Host Service</td>
670
+ <td style="padding:15px">{base_path}/{version}/services/{pathv1}/{pathv2}?{query}</td>
671
+ <td style="padding:15px">Yes</td>
672
+ </tr>
673
+ <tr>
674
+ <td style="padding:15px">getHostServiceCommandLine(host, service, callback)</td>
675
+ <td style="padding:15px">Get Host Service Command Line</td>
676
+ <td style="padding:15px">{base_path}/{version}/services/{pathv1}/{pathv2}/commandline?{query}</td>
677
+ <td style="padding:15px">Yes</td>
678
+ </tr>
679
+ <tr>
680
+ <td style="padding:15px">getHostServiceConfig(host, service, callback)</td>
681
+ <td style="padding:15px">Get Host Service Config</td>
682
+ <td style="padding:15px">{base_path}/{version}/services/{pathv1}/{pathv2}/config?{query}</td>
683
+ <td style="padding:15px">Yes</td>
684
+ </tr>
685
+ <tr>
686
+ <td style="padding:15px">postHostServiceConfig(host, service, body, callback)</td>
687
+ <td style="padding:15px">Post Host Service Config</td>
688
+ <td style="padding:15px">{base_path}/{version}/services/{pathv1}/{pathv2}/config?{query}</td>
689
+ <td style="padding:15px">Yes</td>
690
+ </tr>
691
+ <tr>
692
+ <td style="padding:15px">patchHostServiceConfig(host, service, body, callback)</td>
693
+ <td style="padding:15px">Patch Host Service Config</td>
694
+ <td style="padding:15px">{base_path}/{version}/services/{pathv1}/{pathv2}/config?{query}</td>
695
+ <td style="padding:15px">Yes</td>
696
+ </tr>
697
+ <tr>
698
+ <td style="padding:15px">deleteHostServiceConfig(host, service, callback)</td>
699
+ <td style="padding:15px">Delete Host Service Config</td>
700
+ <td style="padding:15px">{base_path}/{version}/services/{pathv1}/{pathv2}/config?{query}</td>
701
+ <td style="padding:15px">Yes</td>
702
+ </tr>
703
+ <tr>
704
+ <td style="padding:15px">getHostServiceOutages(host, service, callback)</td>
705
+ <td style="padding:15px">Get Host Service Outages</td>
706
+ <td style="padding:15px">{base_path}/{version}/services/{pathv1}/{pathv2}/outages?{query}</td>
707
+ <td style="padding:15px">Yes</td>
708
+ </tr>
709
+ <tr>
710
+ <td style="padding:15px">getServicesOutages(callback)</td>
711
+ <td style="padding:15px">Get Services Outages</td>
712
+ <td style="padding:15px">{base_path}/{version}/services/outages?{query}</td>
713
+ <td style="padding:15px">Yes</td>
714
+ </tr>
715
+ <tr>
716
+ <td style="padding:15px">getServicesStats(callback)</td>
717
+ <td style="padding:15px">Get Services Stats</td>
718
+ <td style="padding:15px">{base_path}/{version}/services/stats?{query}</td>
719
+ <td style="padding:15px">Yes</td>
720
+ </tr>
721
+ <tr>
722
+ <td style="padding:15px">getServicesTotals(callback)</td>
723
+ <td style="padding:15px">Get Services Totals</td>
724
+ <td style="padding:15px">{base_path}/{version}/services/totals?{query}</td>
725
+ <td style="padding:15px">Yes</td>
726
+ </tr>
727
+ <tr>
728
+ <td style="padding:15px">getSites(callback)</td>
729
+ <td style="padding:15px">Get Sites</td>
730
+ <td style="padding:15px">{base_path}/{version}/sites?{query}</td>
731
+ <td style="padding:15px">Yes</td>
732
+ </tr>
733
+ <tr>
734
+ <td style="padding:15px">getThruk(callback)</td>
735
+ <td style="padding:15px">getThruk</td>
736
+ <td style="padding:15px">{base_path}/{version}/thruk?{query}</td>
737
+ <td style="padding:15px">Yes</td>
738
+ </tr>
739
+ <tr>
740
+ <td style="padding:15px">getThrukWhoami(callback)</td>
741
+ <td style="padding:15px">Get Thruk whoami</td>
742
+ <td style="padding:15px">{base_path}/{version}/thruk/whoami?{query}</td>
743
+ <td style="padding:15px">Yes</td>
744
+ </tr>
745
+ <tr>
746
+ <td style="padding:15px">getTimePeriods(callback)</td>
747
+ <td style="padding:15px">Get Time Periods</td>
748
+ <td style="padding:15px">{base_path}/{version}/timeperiods?{query}</td>
749
+ <td style="padding:15px">Yes</td>
750
+ </tr>
751
+ <tr>
752
+ <td style="padding:15px">getTimePeriod(name, callback)</td>
753
+ <td style="padding:15px">Get Time Period</td>
754
+ <td style="padding:15px">{base_path}/{version}/timeperiods/{pathv1}?{query}</td>
755
+ <td style="padding:15px">Yes</td>
756
+ </tr>
757
+ <tr>
758
+ <td style="padding:15px">getTimePeriodConfig(name, callback)</td>
759
+ <td style="padding:15px">Get Time Period Config</td>
760
+ <td style="padding:15px">{base_path}/{version}/timeperiods/{pathv1}/config?{query}</td>
761
+ <td style="padding:15px">Yes</td>
762
+ </tr>
763
+ <tr>
764
+ <td style="padding:15px">postTimePeriodConfig(name, body, callback)</td>
765
+ <td style="padding:15px">Post Time Period Config</td>
766
+ <td style="padding:15px">{base_path}/{version}/timeperiods/{pathv1}/config?{query}</td>
767
+ <td style="padding:15px">Yes</td>
768
+ </tr>
769
+ <tr>
770
+ <td style="padding:15px">patchTimePeriodConfig(name, body, callback)</td>
771
+ <td style="padding:15px">Patch Time Period Config</td>
772
+ <td style="padding:15px">{base_path}/{version}/timeperiods/{pathv1}/config?{query}</td>
773
+ <td style="padding:15px">Yes</td>
774
+ </tr>
775
+ <tr>
776
+ <td style="padding:15px">deleteTimePeriodConfig(name, callback)</td>
777
+ <td style="padding:15px">Delete Time Period Config</td>
778
+ <td style="padding:15px">{base_path}/{version}/timeperiods/{pathv1}/config?{query}</td>
779
+ <td style="padding:15px">Yes</td>
780
+ </tr>
781
+ </table>
782
+ <br>