@itentialopensource/adapter-bluecat_ipam 0.1.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 (108) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.js +19 -0
  3. package/.jshintrc +3 -0
  4. package/AUTH.md +39 -0
  5. package/BROKER.md +211 -0
  6. package/CALLS.md +3069 -0
  7. package/CHANGELOG.md +9 -0
  8. package/CODE_OF_CONDUCT.md +43 -0
  9. package/CONTRIBUTING.md +13 -0
  10. package/ENHANCE.md +69 -0
  11. package/LICENSE +201 -0
  12. package/PROPERTIES.md +681 -0
  13. package/README.md +344 -0
  14. package/SUMMARY.md +9 -0
  15. package/SYSTEMINFO.md +25 -0
  16. package/TAB1.md +15 -0
  17. package/TAB2.md +318 -0
  18. package/TROUBLESHOOT.md +56 -0
  19. package/UTILITIES.md +473 -0
  20. package/adapter.js +47832 -0
  21. package/adapterBase.js +1526 -0
  22. package/entities/.generic/action.json +214 -0
  23. package/entities/.generic/schema.json +28 -0
  24. package/entities/.system/action.json +50 -0
  25. package/entities/.system/mockdatafiles/getToken-default.json +3 -0
  26. package/entities/.system/mockdatafiles/healthcheck-default.json +3 -0
  27. package/entities/.system/schema.json +19 -0
  28. package/entities/.system/schemaTokenReq.json +53 -0
  29. package/entities/.system/schemaTokenResp.json +53 -0
  30. package/entities/ACLResources/action.json +127 -0
  31. package/entities/ACLResources/schema.json +24 -0
  32. package/entities/AdminResources/action.json +1954 -0
  33. package/entities/AdminResources/schema.json +113 -0
  34. package/entities/ConfigurationResources/action.json +106 -0
  35. package/entities/ConfigurationResources/schema.json +23 -0
  36. package/entities/DHCPClientClassResources/action.json +250 -0
  37. package/entities/DHCPClientClassResources/schema.json +30 -0
  38. package/entities/DHCPZoneResources/action.json +250 -0
  39. package/entities/DHCPZoneResources/schema.json +30 -0
  40. package/entities/DNSSECResources/action.json +147 -0
  41. package/entities/DNSSECResources/schema.json +25 -0
  42. package/entities/DeploymentOptionResources/action.json +250 -0
  43. package/entities/DeploymentOptionResources/schema.json +30 -0
  44. package/entities/DeploymentRoleResources/action.json +169 -0
  45. package/entities/DeploymentRoleResources/schema.json +26 -0
  46. package/entities/DeviceResources/action.json +352 -0
  47. package/entities/DeviceResources/schema.json +35 -0
  48. package/entities/FavoriteResources/action.json +65 -0
  49. package/entities/FavoriteResources/schema.json +21 -0
  50. package/entities/IPv4AndIPv6Resources/action.json +1964 -0
  51. package/entities/IPv4AndIPv6Resources/schema.json +113 -0
  52. package/entities/KerberosResources/action.json +393 -0
  53. package/entities/KerberosResources/schema.json +37 -0
  54. package/entities/LocationResources/action.json +209 -0
  55. package/entities/LocationResources/schema.json +28 -0
  56. package/entities/MACAddressAndClientIdentifierResources/action.json +395 -0
  57. package/entities/MACAddressAndClientIdentifierResources/schema.json +37 -0
  58. package/entities/NamingPolicyResources/action.json +476 -0
  59. package/entities/NamingPolicyResources/schema.json +41 -0
  60. package/entities/ResourceRecordResources/action.json +377 -0
  61. package/entities/ResourceRecordResources/schema.json +36 -0
  62. package/entities/ServerResources/action.json +784 -0
  63. package/entities/ServerResources/schema.json +56 -0
  64. package/entities/TFTPResources/action.json +250 -0
  65. package/entities/TFTPResources/schema.json +30 -0
  66. package/entities/TagResources/action.json +495 -0
  67. package/entities/TagResources/schema.json +42 -0
  68. package/entities/TaskResources/action.json +106 -0
  69. package/entities/TaskResources/schema.json +23 -0
  70. package/entities/VendorProfileResources/action.json +106 -0
  71. package/entities/VendorProfileResources/schema.json +23 -0
  72. package/entities/ViewAndZoneResources/action.json +660 -0
  73. package/entities/ViewAndZoneResources/schema.json +50 -0
  74. package/error.json +190 -0
  75. package/metadata.json +84 -0
  76. package/package.json +75 -0
  77. package/pronghorn.json +34480 -0
  78. package/propertiesDecorators.json +18 -0
  79. package/propertiesSchema.json +1777 -0
  80. package/report/Bluecat IPAM 9.5 v2 API.yml-OpenApi3Json.json +114720 -0
  81. package/report/adapterInfo.json +10 -0
  82. package/report/auto-adapter-openapi.json +28663 -0
  83. package/report/creationReport.json +2910 -0
  84. package/sampleProperties.json +264 -0
  85. package/test/integration/adapterTestBasicGet.js +117 -0
  86. package/test/integration/adapterTestConnectivity.js +117 -0
  87. package/test/integration/adapterTestIntegration.js +12568 -0
  88. package/test/unit/adapterBaseTestUnit.js +1628 -0
  89. package/test/unit/adapterTestUnit.js +16058 -0
  90. package/utils/adapterInfo.js +156 -0
  91. package/utils/argParser.js +44 -0
  92. package/utils/checkMigrate.js +102 -0
  93. package/utils/entitiesToDB.js +190 -0
  94. package/utils/findPath.js +74 -0
  95. package/utils/logger.js +26 -0
  96. package/utils/methodDocumentor.js +298 -0
  97. package/utils/modify.js +153 -0
  98. package/utils/mongoDbConnection.js +79 -0
  99. package/utils/mongoUtils.js +162 -0
  100. package/utils/pre-commit.sh +32 -0
  101. package/utils/removeHooks.js +20 -0
  102. package/utils/setup.js +33 -0
  103. package/utils/taskMover.js +308 -0
  104. package/utils/tbScript.js +103 -0
  105. package/utils/tbUtils.js +347 -0
  106. package/utils/testRunner.js +298 -0
  107. package/utils/troubleshootingAdapter.js +177 -0
  108. package/utils/updateAdapterConfig.js +158 -0
@@ -0,0 +1,352 @@
1
+ {
2
+ "actions": [
3
+ {
4
+ "name": "getDeviceSubtypes",
5
+ "protocol": "REST",
6
+ "method": "GET",
7
+ "entitypath": "{base_path}/{version}/api/v2/deviceSubtypes?{query}",
8
+ "requestSchema": "schema.json",
9
+ "responseSchema": "schema.json",
10
+ "timeout": 0,
11
+ "sendEmpty": false,
12
+ "sendGetBody": false,
13
+ "requestDatatype": "JSON",
14
+ "responseDatatype": "JSON",
15
+ "headers": {},
16
+ "responseObjects": [
17
+ {
18
+ "type": "default",
19
+ "key": "",
20
+ "mockFile": ""
21
+ }
22
+ ]
23
+ },
24
+ {
25
+ "name": "getDeviceSubtype",
26
+ "protocol": "REST",
27
+ "method": "GET",
28
+ "entitypath": "{base_path}/{version}/api/v2/deviceSubtypes/{pathv1}?{query}",
29
+ "requestSchema": "schema.json",
30
+ "responseSchema": "schema.json",
31
+ "timeout": 0,
32
+ "sendEmpty": false,
33
+ "sendGetBody": false,
34
+ "requestDatatype": "JSON",
35
+ "responseDatatype": "JSON",
36
+ "headers": {},
37
+ "responseObjects": [
38
+ {
39
+ "type": "default",
40
+ "key": "",
41
+ "mockFile": ""
42
+ }
43
+ ]
44
+ },
45
+ {
46
+ "name": "putDeviceSubtype",
47
+ "protocol": "REST",
48
+ "method": "PUT",
49
+ "entitypath": "{base_path}/{version}/api/v2/deviceSubtypes/{pathv1}?{query}",
50
+ "requestSchema": "schema.json",
51
+ "responseSchema": "schema.json",
52
+ "timeout": 0,
53
+ "sendEmpty": false,
54
+ "requestDatatype": "JSON",
55
+ "responseDatatype": "JSON",
56
+ "headers": {},
57
+ "responseObjects": [
58
+ {
59
+ "type": "default",
60
+ "key": "",
61
+ "mockFile": ""
62
+ }
63
+ ]
64
+ },
65
+ {
66
+ "name": "deleteDeviceSubtype",
67
+ "protocol": "REST",
68
+ "method": "DELETE",
69
+ "entitypath": "{base_path}/{version}/api/v2/deviceSubtypes/{pathv1}?{query}",
70
+ "requestSchema": "schema.json",
71
+ "responseSchema": "schema.json",
72
+ "timeout": 0,
73
+ "sendEmpty": false,
74
+ "requestDatatype": "JSON",
75
+ "responseDatatype": "JSON",
76
+ "headers": {},
77
+ "responseObjects": [
78
+ {
79
+ "type": "default",
80
+ "key": "",
81
+ "mockFile": ""
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ "name": "getDeviceTypeDeviceSubtypes",
87
+ "protocol": "REST",
88
+ "method": "GET",
89
+ "entitypath": "{base_path}/{version}/api/v2/deviceTypes/{pathv1}/deviceSubtypes?{query}",
90
+ "requestSchema": "schema.json",
91
+ "responseSchema": "schema.json",
92
+ "timeout": 0,
93
+ "sendEmpty": false,
94
+ "sendGetBody": false,
95
+ "requestDatatype": "JSON",
96
+ "responseDatatype": "JSON",
97
+ "headers": {},
98
+ "responseObjects": [
99
+ {
100
+ "type": "default",
101
+ "key": "",
102
+ "mockFile": ""
103
+ }
104
+ ]
105
+ },
106
+ {
107
+ "name": "postDeviceTypeDeviceSubtype",
108
+ "protocol": "REST",
109
+ "method": "POST",
110
+ "entitypath": "{base_path}/{version}/api/v2/deviceTypes/{pathv1}/deviceSubtypes?{query}",
111
+ "requestSchema": "schema.json",
112
+ "responseSchema": "schema.json",
113
+ "timeout": 0,
114
+ "sendEmpty": false,
115
+ "requestDatatype": "JSON",
116
+ "responseDatatype": "JSON",
117
+ "headers": {},
118
+ "responseObjects": [
119
+ {
120
+ "type": "default",
121
+ "key": "",
122
+ "mockFile": ""
123
+ }
124
+ ]
125
+ },
126
+ {
127
+ "name": "getDeviceTypes",
128
+ "protocol": "REST",
129
+ "method": "GET",
130
+ "entitypath": "{base_path}/{version}/api/v2/deviceTypes?{query}",
131
+ "requestSchema": "schema.json",
132
+ "responseSchema": "schema.json",
133
+ "timeout": 0,
134
+ "sendEmpty": false,
135
+ "sendGetBody": false,
136
+ "requestDatatype": "JSON",
137
+ "responseDatatype": "JSON",
138
+ "headers": {},
139
+ "responseObjects": [
140
+ {
141
+ "type": "default",
142
+ "key": "",
143
+ "mockFile": ""
144
+ }
145
+ ]
146
+ },
147
+ {
148
+ "name": "postDeviceType",
149
+ "protocol": "REST",
150
+ "method": "POST",
151
+ "entitypath": "{base_path}/{version}/api/v2/deviceTypes?{query}",
152
+ "requestSchema": "schema.json",
153
+ "responseSchema": "schema.json",
154
+ "timeout": 0,
155
+ "sendEmpty": false,
156
+ "requestDatatype": "JSON",
157
+ "responseDatatype": "JSON",
158
+ "headers": {},
159
+ "responseObjects": [
160
+ {
161
+ "type": "default",
162
+ "key": "",
163
+ "mockFile": ""
164
+ }
165
+ ]
166
+ },
167
+ {
168
+ "name": "getDeviceType",
169
+ "protocol": "REST",
170
+ "method": "GET",
171
+ "entitypath": "{base_path}/{version}/api/v2/deviceTypes/{pathv1}?{query}",
172
+ "requestSchema": "schema.json",
173
+ "responseSchema": "schema.json",
174
+ "timeout": 0,
175
+ "sendEmpty": false,
176
+ "sendGetBody": false,
177
+ "requestDatatype": "JSON",
178
+ "responseDatatype": "JSON",
179
+ "headers": {},
180
+ "responseObjects": [
181
+ {
182
+ "type": "default",
183
+ "key": "",
184
+ "mockFile": ""
185
+ }
186
+ ]
187
+ },
188
+ {
189
+ "name": "putDeviceType",
190
+ "protocol": "REST",
191
+ "method": "PUT",
192
+ "entitypath": "{base_path}/{version}/api/v2/deviceTypes/{pathv1}?{query}",
193
+ "requestSchema": "schema.json",
194
+ "responseSchema": "schema.json",
195
+ "timeout": 0,
196
+ "sendEmpty": false,
197
+ "requestDatatype": "JSON",
198
+ "responseDatatype": "JSON",
199
+ "headers": {},
200
+ "responseObjects": [
201
+ {
202
+ "type": "default",
203
+ "key": "",
204
+ "mockFile": ""
205
+ }
206
+ ]
207
+ },
208
+ {
209
+ "name": "deleteDeviceType",
210
+ "protocol": "REST",
211
+ "method": "DELETE",
212
+ "entitypath": "{base_path}/{version}/api/v2/deviceTypes/{pathv1}?{query}",
213
+ "requestSchema": "schema.json",
214
+ "responseSchema": "schema.json",
215
+ "timeout": 0,
216
+ "sendEmpty": false,
217
+ "requestDatatype": "JSON",
218
+ "responseDatatype": "JSON",
219
+ "headers": {},
220
+ "responseObjects": [
221
+ {
222
+ "type": "default",
223
+ "key": "",
224
+ "mockFile": ""
225
+ }
226
+ ]
227
+ },
228
+ {
229
+ "name": "getDevices",
230
+ "protocol": "REST",
231
+ "method": "GET",
232
+ "entitypath": "{base_path}/{version}/api/v2/devices?{query}",
233
+ "requestSchema": "schema.json",
234
+ "responseSchema": "schema.json",
235
+ "timeout": 0,
236
+ "sendEmpty": false,
237
+ "sendGetBody": false,
238
+ "requestDatatype": "JSON",
239
+ "responseDatatype": "JSON",
240
+ "headers": {},
241
+ "responseObjects": [
242
+ {
243
+ "type": "default",
244
+ "key": "",
245
+ "mockFile": ""
246
+ }
247
+ ]
248
+ },
249
+ {
250
+ "name": "getDevice",
251
+ "protocol": "REST",
252
+ "method": "GET",
253
+ "entitypath": "{base_path}/{version}/api/v2/devices/{pathv1}?{query}",
254
+ "requestSchema": "schema.json",
255
+ "responseSchema": "schema.json",
256
+ "timeout": 0,
257
+ "sendEmpty": false,
258
+ "sendGetBody": false,
259
+ "requestDatatype": "JSON",
260
+ "responseDatatype": "JSON",
261
+ "headers": {},
262
+ "responseObjects": [
263
+ {
264
+ "type": "default",
265
+ "key": "",
266
+ "mockFile": ""
267
+ }
268
+ ]
269
+ },
270
+ {
271
+ "name": "putDevice",
272
+ "protocol": "REST",
273
+ "method": "PUT",
274
+ "entitypath": "{base_path}/{version}/api/v2/devices/{pathv1}?{query}",
275
+ "requestSchema": "schema.json",
276
+ "responseSchema": "schema.json",
277
+ "timeout": 0,
278
+ "sendEmpty": false,
279
+ "requestDatatype": "JSON",
280
+ "responseDatatype": "JSON",
281
+ "headers": {},
282
+ "responseObjects": [
283
+ {
284
+ "type": "default",
285
+ "key": "",
286
+ "mockFile": ""
287
+ }
288
+ ]
289
+ },
290
+ {
291
+ "name": "deleteDevice",
292
+ "protocol": "REST",
293
+ "method": "DELETE",
294
+ "entitypath": "{base_path}/{version}/api/v2/devices/{pathv1}?{query}",
295
+ "requestSchema": "schema.json",
296
+ "responseSchema": "schema.json",
297
+ "timeout": 0,
298
+ "sendEmpty": false,
299
+ "requestDatatype": "JSON",
300
+ "responseDatatype": "JSON",
301
+ "headers": {},
302
+ "responseObjects": [
303
+ {
304
+ "type": "default",
305
+ "key": "",
306
+ "mockFile": ""
307
+ }
308
+ ]
309
+ },
310
+ {
311
+ "name": "getConfigurationDevices",
312
+ "protocol": "REST",
313
+ "method": "GET",
314
+ "entitypath": "{base_path}/{version}/api/v2/configurations/{pathv1}/devices?{query}",
315
+ "requestSchema": "schema.json",
316
+ "responseSchema": "schema.json",
317
+ "timeout": 0,
318
+ "sendEmpty": false,
319
+ "sendGetBody": false,
320
+ "requestDatatype": "JSON",
321
+ "responseDatatype": "JSON",
322
+ "headers": {},
323
+ "responseObjects": [
324
+ {
325
+ "type": "default",
326
+ "key": "",
327
+ "mockFile": ""
328
+ }
329
+ ]
330
+ },
331
+ {
332
+ "name": "postConfigurationDevice",
333
+ "protocol": "REST",
334
+ "method": "POST",
335
+ "entitypath": "{base_path}/{version}/api/v2/configurations/{pathv1}/devices?{query}",
336
+ "requestSchema": "schema.json",
337
+ "responseSchema": "schema.json",
338
+ "timeout": 0,
339
+ "sendEmpty": false,
340
+ "requestDatatype": "JSON",
341
+ "responseDatatype": "JSON",
342
+ "headers": {},
343
+ "responseObjects": [
344
+ {
345
+ "type": "default",
346
+ "key": "",
347
+ "mockFile": ""
348
+ }
349
+ ]
350
+ }
351
+ ]
352
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$id": "schema.json",
3
+ "type": "object",
4
+ "schema": "http://json-schema.org/draft-07/schema#",
5
+ "translate": false,
6
+ "dynamicfields": true,
7
+ "properties": {
8
+ "ph_request_type": {
9
+ "type": "string",
10
+ "description": "type of request (internal to adapter)",
11
+ "default": "getDeviceSubtypes",
12
+ "enum": [
13
+ "getDeviceSubtypes",
14
+ "getDeviceSubtype",
15
+ "putDeviceSubtype",
16
+ "deleteDeviceSubtype",
17
+ "getDeviceTypeDeviceSubtypes",
18
+ "postDeviceTypeDeviceSubtype",
19
+ "getDeviceTypes",
20
+ "postDeviceType",
21
+ "getDeviceType",
22
+ "putDeviceType",
23
+ "deleteDeviceType",
24
+ "getDevices",
25
+ "getDevice",
26
+ "putDevice",
27
+ "deleteDevice",
28
+ "getConfigurationDevices",
29
+ "postConfigurationDevice"
30
+ ],
31
+ "external_name": "ph_request_type"
32
+ }
33
+ },
34
+ "definitions": {}
35
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "actions": [
3
+ {
4
+ "name": "getUserFavorites",
5
+ "protocol": "REST",
6
+ "method": "GET",
7
+ "entitypath": "{base_path}/{version}/api/v2/users/{pathv1}/favorites?{query}",
8
+ "requestSchema": "schema.json",
9
+ "responseSchema": "schema.json",
10
+ "timeout": 0,
11
+ "sendEmpty": false,
12
+ "sendGetBody": false,
13
+ "requestDatatype": "JSON",
14
+ "responseDatatype": "JSON",
15
+ "headers": {},
16
+ "responseObjects": [
17
+ {
18
+ "type": "default",
19
+ "key": "",
20
+ "mockFile": ""
21
+ }
22
+ ]
23
+ },
24
+ {
25
+ "name": "postUserFavorite",
26
+ "protocol": "REST",
27
+ "method": "POST",
28
+ "entitypath": "{base_path}/{version}/api/v2/users/{pathv1}/favorites?{query}",
29
+ "requestSchema": "schema.json",
30
+ "responseSchema": "schema.json",
31
+ "timeout": 0,
32
+ "sendEmpty": false,
33
+ "requestDatatype": "JSON",
34
+ "responseDatatype": "JSON",
35
+ "headers": {},
36
+ "responseObjects": [
37
+ {
38
+ "type": "default",
39
+ "key": "",
40
+ "mockFile": ""
41
+ }
42
+ ]
43
+ },
44
+ {
45
+ "name": "deleteUserFavorite",
46
+ "protocol": "REST",
47
+ "method": "DELETE",
48
+ "entitypath": "{base_path}/{version}/api/v2/users/{pathv1}/favorites/{pathv2}?{query}",
49
+ "requestSchema": "schema.json",
50
+ "responseSchema": "schema.json",
51
+ "timeout": 0,
52
+ "sendEmpty": false,
53
+ "requestDatatype": "JSON",
54
+ "responseDatatype": "JSON",
55
+ "headers": {},
56
+ "responseObjects": [
57
+ {
58
+ "type": "default",
59
+ "key": "",
60
+ "mockFile": ""
61
+ }
62
+ ]
63
+ }
64
+ ]
65
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$id": "schema.json",
3
+ "type": "object",
4
+ "schema": "http://json-schema.org/draft-07/schema#",
5
+ "translate": false,
6
+ "dynamicfields": true,
7
+ "properties": {
8
+ "ph_request_type": {
9
+ "type": "string",
10
+ "description": "type of request (internal to adapter)",
11
+ "default": "getUserFavorites",
12
+ "enum": [
13
+ "getUserFavorites",
14
+ "postUserFavorite",
15
+ "deleteUserFavorite"
16
+ ],
17
+ "external_name": "ph_request_type"
18
+ }
19
+ },
20
+ "definitions": {}
21
+ }