@itentialopensource/adapter-paragon_dcs 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.
- package/.eslintignore +6 -0
- package/.eslintrc.js +18 -0
- package/.gitlab/.gitkeep +0 -0
- package/.gitlab/issue_templates/.gitkeep +0 -0
- package/.gitlab/issue_templates/Default.md +17 -0
- package/.gitlab/issue_templates/bugReportTemplate.md +76 -0
- package/.gitlab/issue_templates/featureRequestTemplate.md +14 -0
- package/.jshintrc +0 -0
- package/AUTH.md +39 -0
- package/BROKER.md +199 -0
- package/CALLS.md +204 -0
- package/CHANGELOG.md +9 -0
- package/CODE_OF_CONDUCT.md +43 -0
- package/CONTRIBUTING.md +172 -0
- package/ENHANCE.md +69 -0
- package/LICENSE +201 -0
- package/PROPERTIES.md +641 -0
- package/README.md +337 -0
- package/SUMMARY.md +9 -0
- package/SYSTEMINFO.md +11 -0
- package/TROUBLESHOOT.md +47 -0
- package/adapter.js +1255 -0
- package/adapterBase.js +1787 -0
- package/entities/.generic/action.json +214 -0
- package/entities/.generic/schema.json +28 -0
- package/entities/.system/action.json +50 -0
- package/entities/.system/mockdatafiles/getToken-default.json +3 -0
- package/entities/.system/mockdatafiles/healthcheck-default.json +3 -0
- package/entities/.system/schema.json +19 -0
- package/entities/.system/schemaTokenReq.json +53 -0
- package/entities/.system/schemaTokenResp.json +53 -0
- package/entities/ConnectivityService/action.json +104 -0
- package/entities/ConnectivityService/schema.json +23 -0
- package/error.json +190 -0
- package/package.json +88 -0
- package/pronghorn.json +1402 -0
- package/propertiesDecorators.json +14 -0
- package/propertiesSchema.json +1248 -0
- package/refs?service=git-upload-pack +0 -0
- package/report/adapterInfo.json +10 -0
- package/report/creationReport.json +235 -0
- package/report/paragon-dcs.json +947 -0
- package/sampleProperties.json +195 -0
- package/test/integration/adapterTestBasicGet.js +83 -0
- package/test/integration/adapterTestConnectivity.js +93 -0
- package/test/integration/adapterTestIntegration.js +627 -0
- package/test/unit/adapterBaseTestUnit.js +949 -0
- package/test/unit/adapterTestUnit.js +1456 -0
- package/utils/adapterInfo.js +206 -0
- package/utils/addAuth.js +94 -0
- package/utils/artifactize.js +146 -0
- package/utils/basicGet.js +50 -0
- package/utils/checkMigrate.js +63 -0
- package/utils/entitiesToDB.js +178 -0
- package/utils/findPath.js +74 -0
- package/utils/methodDocumentor.js +225 -0
- package/utils/modify.js +154 -0
- package/utils/packModificationScript.js +35 -0
- package/utils/patches2bundledDeps.js +90 -0
- package/utils/pre-commit.sh +32 -0
- package/utils/removeHooks.js +20 -0
- package/utils/setup.js +33 -0
- package/utils/tbScript.js +246 -0
- package/utils/tbUtils.js +490 -0
- package/utils/testRunner.js +298 -0
- package/utils/troubleshootingAdapter.js +195 -0
- package/workflows/README.md +3 -0
package/pronghorn.json
ADDED
|
@@ -0,0 +1,1402 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "@itentialopensource/adapter-paragon_dcs",
|
|
3
|
+
"type": "Adapter",
|
|
4
|
+
"export": "ParagonDcs",
|
|
5
|
+
"title": "Paragon_dcs",
|
|
6
|
+
"src": "adapter.js",
|
|
7
|
+
"roles": [
|
|
8
|
+
"admin"
|
|
9
|
+
],
|
|
10
|
+
"methods": [
|
|
11
|
+
{
|
|
12
|
+
"name": "iapUpdateAdapterConfiguration",
|
|
13
|
+
"summary": "Updates the adapter configuration",
|
|
14
|
+
"description": "Updates the adapter configuration file with the provided changes",
|
|
15
|
+
"input": [
|
|
16
|
+
{
|
|
17
|
+
"name": "configFile",
|
|
18
|
+
"type": "string",
|
|
19
|
+
"info": "The name of the file to change",
|
|
20
|
+
"required": true,
|
|
21
|
+
"schema": {
|
|
22
|
+
"title": "configFile",
|
|
23
|
+
"type": "string"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "changes",
|
|
28
|
+
"type": "object",
|
|
29
|
+
"info": "JSON object containing the configuration changes",
|
|
30
|
+
"required": true,
|
|
31
|
+
"schema": {
|
|
32
|
+
"title": "changes",
|
|
33
|
+
"type": "object"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "entity",
|
|
38
|
+
"type": "string",
|
|
39
|
+
"info": "The entity in which the changes are being made",
|
|
40
|
+
"required": false,
|
|
41
|
+
"schema": {
|
|
42
|
+
"title": "entity",
|
|
43
|
+
"type": "string"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "type",
|
|
48
|
+
"type": "string",
|
|
49
|
+
"info": "The type of file to change - action, schema, or mock",
|
|
50
|
+
"required": false,
|
|
51
|
+
"schema": {
|
|
52
|
+
"title": "type",
|
|
53
|
+
"type": "string"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "action",
|
|
58
|
+
"type": "string",
|
|
59
|
+
"info": "The action to be changed",
|
|
60
|
+
"required": false,
|
|
61
|
+
"schema": {
|
|
62
|
+
"title": "action",
|
|
63
|
+
"type": "string"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"output": {
|
|
68
|
+
"name": "result",
|
|
69
|
+
"type": "object",
|
|
70
|
+
"description": "A JSON Object containing status, code and the result",
|
|
71
|
+
"schema": {
|
|
72
|
+
"title": "result",
|
|
73
|
+
"type": "object"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"roles": [
|
|
77
|
+
"admin"
|
|
78
|
+
],
|
|
79
|
+
"route": {
|
|
80
|
+
"verb": "POST",
|
|
81
|
+
"path": "/iapUpdateAdapterConfiguration"
|
|
82
|
+
},
|
|
83
|
+
"task": true
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "iapFindAdapterPath",
|
|
87
|
+
"summary": "Provides the ability to see if a particular API path is supported by the adapter",
|
|
88
|
+
"description": "Provides the ability to see if a particular API path is supported by the adapter",
|
|
89
|
+
"input": [
|
|
90
|
+
{
|
|
91
|
+
"name": "apiPath",
|
|
92
|
+
"type": "string",
|
|
93
|
+
"info": "The API Path you want to check - make sure to not include base path and version",
|
|
94
|
+
"description": "The API Path you want to check - make sure to not include base path and version",
|
|
95
|
+
"schema": {
|
|
96
|
+
"title": "apiPath",
|
|
97
|
+
"type": "string"
|
|
98
|
+
},
|
|
99
|
+
"required": true
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"output": {
|
|
103
|
+
"name": "result",
|
|
104
|
+
"type": "object",
|
|
105
|
+
"description": "A JSON Object containing the result",
|
|
106
|
+
"schema": {
|
|
107
|
+
"title": "result",
|
|
108
|
+
"type": "object"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"roles": [
|
|
112
|
+
"admin"
|
|
113
|
+
],
|
|
114
|
+
"route": {
|
|
115
|
+
"verb": "POST",
|
|
116
|
+
"path": "/iapFindAdapterPath"
|
|
117
|
+
},
|
|
118
|
+
"task": true
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "iapSuspendAdapter",
|
|
122
|
+
"summary": "Suspends the adapter",
|
|
123
|
+
"description": "Suspends the adapter",
|
|
124
|
+
"input": [
|
|
125
|
+
{
|
|
126
|
+
"name": "mode",
|
|
127
|
+
"type": "enum",
|
|
128
|
+
"enumerals": [
|
|
129
|
+
"pause",
|
|
130
|
+
"error"
|
|
131
|
+
],
|
|
132
|
+
"info": "How incoming requests are handled. Defaults to 'pause'",
|
|
133
|
+
"description": "How incoming requests are handled. Defaults to 'pause'",
|
|
134
|
+
"schema": {
|
|
135
|
+
"title": "mode",
|
|
136
|
+
"type": "string"
|
|
137
|
+
},
|
|
138
|
+
"required": false
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"output": {
|
|
142
|
+
"name": "result",
|
|
143
|
+
"type": "object",
|
|
144
|
+
"description": "A JSON Object containing the adapter suspended status",
|
|
145
|
+
"schema": {
|
|
146
|
+
"title": "result",
|
|
147
|
+
"type": "object"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"roles": [
|
|
151
|
+
"admin"
|
|
152
|
+
],
|
|
153
|
+
"route": {
|
|
154
|
+
"verb": "POST",
|
|
155
|
+
"path": "/iapSuspendAdapter"
|
|
156
|
+
},
|
|
157
|
+
"task": true
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "iapUnsuspendAdapter",
|
|
161
|
+
"summary": "Unsuspends the adapter",
|
|
162
|
+
"description": "Unsuspends the adapter",
|
|
163
|
+
"input": [],
|
|
164
|
+
"output": {
|
|
165
|
+
"name": "result",
|
|
166
|
+
"type": "object",
|
|
167
|
+
"description": "A JSON Object containing the adapter suspended status",
|
|
168
|
+
"schema": {
|
|
169
|
+
"title": "result",
|
|
170
|
+
"type": "object"
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"roles": [
|
|
174
|
+
"admin"
|
|
175
|
+
],
|
|
176
|
+
"route": {
|
|
177
|
+
"verb": "POST",
|
|
178
|
+
"path": "/iapUnsuspendAdapter"
|
|
179
|
+
},
|
|
180
|
+
"task": true
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"name": "iapGetAdapterQueue",
|
|
184
|
+
"summary": "Return the requests that are waiting in the queue if throttling is enabled",
|
|
185
|
+
"description": "Return the requests that are waiting in the queue if throttling is enabled",
|
|
186
|
+
"input": [],
|
|
187
|
+
"output": {
|
|
188
|
+
"name": "result",
|
|
189
|
+
"type": "object",
|
|
190
|
+
"description": "A JSON Object containing the adapter queue",
|
|
191
|
+
"schema": {
|
|
192
|
+
"title": "result",
|
|
193
|
+
"type": "object"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"roles": [
|
|
197
|
+
"admin"
|
|
198
|
+
],
|
|
199
|
+
"route": {
|
|
200
|
+
"verb": "POST",
|
|
201
|
+
"path": "/iapGetAdapterQueue"
|
|
202
|
+
},
|
|
203
|
+
"task": true
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"name": "iapTroubleshootAdapter",
|
|
207
|
+
"summary": "Runs troubleshoot script for adapter",
|
|
208
|
+
"description": "Runs troubleshoot script for adapter",
|
|
209
|
+
"input": [
|
|
210
|
+
{
|
|
211
|
+
"name": "props",
|
|
212
|
+
"type": "object",
|
|
213
|
+
"info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}",
|
|
214
|
+
"required": true,
|
|
215
|
+
"schema": {
|
|
216
|
+
"title": "props",
|
|
217
|
+
"type": "object"
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"name": "persistFlag",
|
|
222
|
+
"type": "boolean",
|
|
223
|
+
"info": "Whether the input properties should be saved",
|
|
224
|
+
"required": true
|
|
225
|
+
}
|
|
226
|
+
],
|
|
227
|
+
"output": {
|
|
228
|
+
"name": "result",
|
|
229
|
+
"type": "object",
|
|
230
|
+
"description": "A JSON Object containing the test results",
|
|
231
|
+
"schema": {
|
|
232
|
+
"title": "result",
|
|
233
|
+
"type": "object"
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
"roles": [
|
|
237
|
+
"admin"
|
|
238
|
+
],
|
|
239
|
+
"route": {
|
|
240
|
+
"verb": "POST",
|
|
241
|
+
"path": "/iapTroubleshootAdapter"
|
|
242
|
+
},
|
|
243
|
+
"task": true
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"name": "iapRunAdapterHealthcheck",
|
|
247
|
+
"summary": "Runs healthcheck script for adapter",
|
|
248
|
+
"description": "Runs healthcheck script for adapter",
|
|
249
|
+
"input": [],
|
|
250
|
+
"output": {
|
|
251
|
+
"name": "result",
|
|
252
|
+
"type": "boolean",
|
|
253
|
+
"description": "Whether healthcheck passed or failed"
|
|
254
|
+
},
|
|
255
|
+
"roles": [
|
|
256
|
+
"admin"
|
|
257
|
+
],
|
|
258
|
+
"route": {
|
|
259
|
+
"verb": "POST",
|
|
260
|
+
"path": "/iapRunAdapterHealthcheck"
|
|
261
|
+
},
|
|
262
|
+
"task": true
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"name": "iapRunAdapterConnectivity",
|
|
266
|
+
"summary": "Runs connectivity check script for adapter",
|
|
267
|
+
"description": "Runs connectivity check script for adapter",
|
|
268
|
+
"input": [],
|
|
269
|
+
"output": {
|
|
270
|
+
"name": "result",
|
|
271
|
+
"type": "object",
|
|
272
|
+
"description": "A JSON Object containing the test results",
|
|
273
|
+
"schema": {
|
|
274
|
+
"title": "result",
|
|
275
|
+
"type": "object"
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
"roles": [
|
|
279
|
+
"admin"
|
|
280
|
+
],
|
|
281
|
+
"route": {
|
|
282
|
+
"verb": "POST",
|
|
283
|
+
"path": "/iapRunAdapterConnectivity"
|
|
284
|
+
},
|
|
285
|
+
"task": true
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"name": "iapRunAdapterBasicGet",
|
|
289
|
+
"summary": "Runs basicGet script for adapter",
|
|
290
|
+
"description": "Runs basicGet script for adapter",
|
|
291
|
+
"input": [],
|
|
292
|
+
"output": {
|
|
293
|
+
"name": "result",
|
|
294
|
+
"type": "object",
|
|
295
|
+
"description": "A JSON Object containing the test results",
|
|
296
|
+
"schema": {
|
|
297
|
+
"title": "result",
|
|
298
|
+
"type": "object"
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
"roles": [
|
|
302
|
+
"admin"
|
|
303
|
+
],
|
|
304
|
+
"route": {
|
|
305
|
+
"verb": "POST",
|
|
306
|
+
"path": "/iapRunAdapterBasicGet"
|
|
307
|
+
},
|
|
308
|
+
"task": true
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"name": "iapMoveAdapterEntitiesToDB",
|
|
312
|
+
"summary": "Moves entities from an adapter into the IAP database",
|
|
313
|
+
"description": "Moves entities from an adapter into the IAP database",
|
|
314
|
+
"input": [],
|
|
315
|
+
"output": {
|
|
316
|
+
"name": "res",
|
|
317
|
+
"type": "object",
|
|
318
|
+
"description": "A JSON Object containing status, code and the response from the mongo transaction",
|
|
319
|
+
"schema": {
|
|
320
|
+
"title": "res",
|
|
321
|
+
"type": "object"
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
"roles": [
|
|
325
|
+
"admin"
|
|
326
|
+
],
|
|
327
|
+
"route": {
|
|
328
|
+
"verb": "POST",
|
|
329
|
+
"path": "/iapMoveAdapterEntitiesToDB"
|
|
330
|
+
},
|
|
331
|
+
"task": true
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"name": "genericAdapterRequest",
|
|
335
|
+
"summary": "Makes the requested generic call",
|
|
336
|
+
"description": "Makes the requested generic call",
|
|
337
|
+
"input": [
|
|
338
|
+
{
|
|
339
|
+
"name": "uriPath",
|
|
340
|
+
"type": "string",
|
|
341
|
+
"info": "the path of the api call - do not include the host, port, base path or version",
|
|
342
|
+
"description": "the path of the api call",
|
|
343
|
+
"schema": {
|
|
344
|
+
"title": "uriPath",
|
|
345
|
+
"type": "string"
|
|
346
|
+
},
|
|
347
|
+
"required": true
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"name": "restMethod",
|
|
351
|
+
"type": "string",
|
|
352
|
+
"info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
|
|
353
|
+
"description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
|
|
354
|
+
"schema": {
|
|
355
|
+
"title": "restMethod",
|
|
356
|
+
"type": "string"
|
|
357
|
+
},
|
|
358
|
+
"required": true
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"name": "queryData",
|
|
362
|
+
"type": "object",
|
|
363
|
+
"info": "the query parameters to be put on the url (optional)",
|
|
364
|
+
"description": "the query parameters to be put on the url (optional)",
|
|
365
|
+
"schema": {
|
|
366
|
+
"title": "queryData",
|
|
367
|
+
"type": "object"
|
|
368
|
+
},
|
|
369
|
+
"required": false
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"name": "requestBody",
|
|
373
|
+
"type": "object",
|
|
374
|
+
"info": "the payload to be sent with the request (optional)",
|
|
375
|
+
"description": "the payload to be sent with the request (optional)",
|
|
376
|
+
"schema": {
|
|
377
|
+
"title": "requestBody",
|
|
378
|
+
"type": "object"
|
|
379
|
+
},
|
|
380
|
+
"required": false
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"name": "addlHeaders",
|
|
384
|
+
"type": "object",
|
|
385
|
+
"info": "additional headers to be put on the call (optional)",
|
|
386
|
+
"description": "additional headers to be put on the call (optional)",
|
|
387
|
+
"schema": {
|
|
388
|
+
"title": "addlHeaders",
|
|
389
|
+
"type": "object"
|
|
390
|
+
},
|
|
391
|
+
"required": false
|
|
392
|
+
}
|
|
393
|
+
],
|
|
394
|
+
"output": {
|
|
395
|
+
"name": "result",
|
|
396
|
+
"type": "object",
|
|
397
|
+
"description": "A JSON Object containing status, code and the result",
|
|
398
|
+
"schema": {
|
|
399
|
+
"title": "result",
|
|
400
|
+
"type": "object"
|
|
401
|
+
}
|
|
402
|
+
},
|
|
403
|
+
"roles": [
|
|
404
|
+
"admin"
|
|
405
|
+
],
|
|
406
|
+
"route": {
|
|
407
|
+
"verb": "POST",
|
|
408
|
+
"path": "/genericAdapterRequest"
|
|
409
|
+
},
|
|
410
|
+
"task": true
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"name": "genericAdapterRequestNoBasePath",
|
|
414
|
+
"summary": "Makes the requested generic call",
|
|
415
|
+
"description": "Makes the requested generic call",
|
|
416
|
+
"input": [
|
|
417
|
+
{
|
|
418
|
+
"name": "uriPath",
|
|
419
|
+
"type": "string",
|
|
420
|
+
"info": "the path of the api call - do not include the host, port, base path or version",
|
|
421
|
+
"description": "the path of the api call",
|
|
422
|
+
"schema": {
|
|
423
|
+
"title": "uriPath",
|
|
424
|
+
"type": "string"
|
|
425
|
+
},
|
|
426
|
+
"required": true
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"name": "restMethod",
|
|
430
|
+
"type": "string",
|
|
431
|
+
"info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
|
|
432
|
+
"description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
|
|
433
|
+
"schema": {
|
|
434
|
+
"title": "restMethod",
|
|
435
|
+
"type": "string"
|
|
436
|
+
},
|
|
437
|
+
"required": true
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"name": "queryData",
|
|
441
|
+
"type": "object",
|
|
442
|
+
"info": "the query parameters to be put on the url (optional)",
|
|
443
|
+
"description": "the query parameters to be put on the url (optional)",
|
|
444
|
+
"schema": {
|
|
445
|
+
"title": "queryData",
|
|
446
|
+
"type": "object"
|
|
447
|
+
},
|
|
448
|
+
"required": false
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"name": "requestBody",
|
|
452
|
+
"type": "object",
|
|
453
|
+
"info": "the payload to be sent with the request (optional)",
|
|
454
|
+
"description": "the payload to be sent with the request (optional)",
|
|
455
|
+
"schema": {
|
|
456
|
+
"title": "requestBody",
|
|
457
|
+
"type": "object"
|
|
458
|
+
},
|
|
459
|
+
"required": false
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"name": "addlHeaders",
|
|
463
|
+
"type": "object",
|
|
464
|
+
"info": "additional headers to be put on the call (optional)",
|
|
465
|
+
"description": "additional headers to be put on the call (optional)",
|
|
466
|
+
"schema": {
|
|
467
|
+
"title": "addlHeaders",
|
|
468
|
+
"type": "object"
|
|
469
|
+
},
|
|
470
|
+
"required": false
|
|
471
|
+
}
|
|
472
|
+
],
|
|
473
|
+
"output": {
|
|
474
|
+
"name": "result",
|
|
475
|
+
"type": "object",
|
|
476
|
+
"description": "A JSON Object containing status, code and the result",
|
|
477
|
+
"schema": {
|
|
478
|
+
"title": "result",
|
|
479
|
+
"type": "object"
|
|
480
|
+
}
|
|
481
|
+
},
|
|
482
|
+
"roles": [
|
|
483
|
+
"admin"
|
|
484
|
+
],
|
|
485
|
+
"route": {
|
|
486
|
+
"verb": "POST",
|
|
487
|
+
"path": "/genericAdapterRequestNoBasePath"
|
|
488
|
+
},
|
|
489
|
+
"task": true
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
"name": "getDevice",
|
|
493
|
+
"summary": "Get the Appliance",
|
|
494
|
+
"description": "Get the Appliance",
|
|
495
|
+
"input": [
|
|
496
|
+
{
|
|
497
|
+
"name": "deviceName",
|
|
498
|
+
"type": "string",
|
|
499
|
+
"info": "An Appliance Device Name",
|
|
500
|
+
"required": true,
|
|
501
|
+
"schema": {
|
|
502
|
+
"title": "deviceName",
|
|
503
|
+
"type": "string"
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
],
|
|
507
|
+
"output": {
|
|
508
|
+
"name": "result",
|
|
509
|
+
"type": "object",
|
|
510
|
+
"description": "A JSON Object containing status, code and the result",
|
|
511
|
+
"schema": {
|
|
512
|
+
"title": "result",
|
|
513
|
+
"type": "object"
|
|
514
|
+
}
|
|
515
|
+
},
|
|
516
|
+
"roles": [
|
|
517
|
+
"admin"
|
|
518
|
+
],
|
|
519
|
+
"route": {
|
|
520
|
+
"verb": "POST",
|
|
521
|
+
"path": "/getDevice"
|
|
522
|
+
},
|
|
523
|
+
"task": true
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"name": "getDevicesFiltered",
|
|
527
|
+
"summary": "Get Appliances that match the filter",
|
|
528
|
+
"description": "Get Appliances that match the filter",
|
|
529
|
+
"input": [
|
|
530
|
+
{
|
|
531
|
+
"name": "options",
|
|
532
|
+
"type": "object",
|
|
533
|
+
"info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }",
|
|
534
|
+
"required": true,
|
|
535
|
+
"schema": {
|
|
536
|
+
"title": "options",
|
|
537
|
+
"type": "object"
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
],
|
|
541
|
+
"output": {
|
|
542
|
+
"name": "result",
|
|
543
|
+
"type": "array",
|
|
544
|
+
"description": "A JSON Object containing status, code and the result",
|
|
545
|
+
"schema": {
|
|
546
|
+
"title": "result",
|
|
547
|
+
"type": "array"
|
|
548
|
+
}
|
|
549
|
+
},
|
|
550
|
+
"roles": [
|
|
551
|
+
"admin"
|
|
552
|
+
],
|
|
553
|
+
"route": {
|
|
554
|
+
"verb": "POST",
|
|
555
|
+
"path": "/getDevicesFiltered"
|
|
556
|
+
},
|
|
557
|
+
"task": true
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"name": "isAlive",
|
|
561
|
+
"summary": "Checks the status for the provided Appliance",
|
|
562
|
+
"description": "Checks the status for the provided Appliance",
|
|
563
|
+
"input": [
|
|
564
|
+
{
|
|
565
|
+
"name": "deviceName",
|
|
566
|
+
"type": "string",
|
|
567
|
+
"info": "An Appliance Device Name",
|
|
568
|
+
"required": true,
|
|
569
|
+
"schema": {
|
|
570
|
+
"title": "deviceName",
|
|
571
|
+
"type": "string"
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
],
|
|
575
|
+
"output": {
|
|
576
|
+
"name": "result",
|
|
577
|
+
"type": "boolean",
|
|
578
|
+
"description": "A JSON Object containing status, code and the result",
|
|
579
|
+
"schema": {
|
|
580
|
+
"title": "result",
|
|
581
|
+
"type": "boolean"
|
|
582
|
+
}
|
|
583
|
+
},
|
|
584
|
+
"roles": [
|
|
585
|
+
"admin"
|
|
586
|
+
],
|
|
587
|
+
"route": {
|
|
588
|
+
"verb": "POST",
|
|
589
|
+
"path": "/isAlive"
|
|
590
|
+
},
|
|
591
|
+
"task": true
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"name": "getConfig",
|
|
595
|
+
"summary": "Gets a config for the provided Appliance",
|
|
596
|
+
"description": "Gets a config for the provided Appliance",
|
|
597
|
+
"input": [
|
|
598
|
+
{
|
|
599
|
+
"name": "deviceName",
|
|
600
|
+
"type": "string",
|
|
601
|
+
"info": "An Appliance Device Name",
|
|
602
|
+
"required": true,
|
|
603
|
+
"schema": {
|
|
604
|
+
"title": "deviceName",
|
|
605
|
+
"type": "string"
|
|
606
|
+
}
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"name": "format",
|
|
610
|
+
"type": "string",
|
|
611
|
+
"info": "The format to be returned - this is ignored as we always return json",
|
|
612
|
+
"required": false,
|
|
613
|
+
"schema": {
|
|
614
|
+
"title": "format",
|
|
615
|
+
"type": "string"
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
],
|
|
619
|
+
"output": {
|
|
620
|
+
"name": "result",
|
|
621
|
+
"type": "object",
|
|
622
|
+
"description": "A JSON Object containing status, code and the result",
|
|
623
|
+
"schema": {
|
|
624
|
+
"title": "result",
|
|
625
|
+
"type": "object"
|
|
626
|
+
}
|
|
627
|
+
},
|
|
628
|
+
"roles": [
|
|
629
|
+
"admin"
|
|
630
|
+
],
|
|
631
|
+
"route": {
|
|
632
|
+
"verb": "POST",
|
|
633
|
+
"path": "/getConfig"
|
|
634
|
+
},
|
|
635
|
+
"task": true
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"name": "iapGetDeviceCount",
|
|
639
|
+
"summary": "Gets a device count from the system",
|
|
640
|
+
"description": "Gets a device count from the system",
|
|
641
|
+
"input": [],
|
|
642
|
+
"output": {
|
|
643
|
+
"name": "result",
|
|
644
|
+
"type": "object",
|
|
645
|
+
"description": "A JSON Object containing status, code and the result",
|
|
646
|
+
"schema": {
|
|
647
|
+
"title": "result",
|
|
648
|
+
"type": "object"
|
|
649
|
+
}
|
|
650
|
+
},
|
|
651
|
+
"roles": [
|
|
652
|
+
"admin"
|
|
653
|
+
],
|
|
654
|
+
"route": {
|
|
655
|
+
"verb": "POST",
|
|
656
|
+
"path": "/iapGetDeviceCount"
|
|
657
|
+
},
|
|
658
|
+
"task": true
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"name": "connectivityServiceDisconnectDevice",
|
|
662
|
+
"summary": "DisconnectDevice",
|
|
663
|
+
"description": "RPC used to terminate device connection.",
|
|
664
|
+
"input": [
|
|
665
|
+
{
|
|
666
|
+
"name": "body",
|
|
667
|
+
"type": "object",
|
|
668
|
+
"info": ": {\"device_uuid\": \"string\"}",
|
|
669
|
+
"required": true,
|
|
670
|
+
"schema": {
|
|
671
|
+
"type": "object",
|
|
672
|
+
"properties": {
|
|
673
|
+
"device_uuid": {
|
|
674
|
+
"type": "string",
|
|
675
|
+
"title": "Unique Id of the device to retrieve connection from DCS cache"
|
|
676
|
+
}
|
|
677
|
+
},
|
|
678
|
+
"definitions": {}
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
],
|
|
682
|
+
"output": {
|
|
683
|
+
"name": "result",
|
|
684
|
+
"type": "object",
|
|
685
|
+
"description": "A JSON Object containing status, code and the result",
|
|
686
|
+
"schema": {
|
|
687
|
+
"title": "result",
|
|
688
|
+
"type": "object"
|
|
689
|
+
}
|
|
690
|
+
},
|
|
691
|
+
"roles": [
|
|
692
|
+
"admin"
|
|
693
|
+
],
|
|
694
|
+
"route": {
|
|
695
|
+
"verb": "POST",
|
|
696
|
+
"path": "/connectivityServiceDisconnectDevice"
|
|
697
|
+
},
|
|
698
|
+
"task": true
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
"name": "connectivityServiceOp",
|
|
702
|
+
"summary": "Op",
|
|
703
|
+
"description": "RPC used to perform operations on device like reboot device or request\nfile put. Takes input as list of commands and returns the result",
|
|
704
|
+
"input": [
|
|
705
|
+
{
|
|
706
|
+
"name": "body",
|
|
707
|
+
"type": "object",
|
|
708
|
+
"info": ": {\"telemetry\": \"boolean\", \"device_info\": {\"subSystem\": \"Must be one of [UNKNOWN_SUBSYSTEM, Netconf, Cli]\", \"networkOS\": \"string\", \"vendor\": \"string\", \"UUID\": \"string\", \"family\": \"string\", \"component\": \"string\", \"auth\": {\"password\": \"string\", \"user\": \"string\", \"ssh_key\": \"string\"}, \"routingEngines\": \"array\", \"lastConfigSyncedTimeStamp\": \"string\", \"members\": [{\"loginConnectionState\": \"Must be one of [UNKNOWN_CONNECTION_STATUS, UP, DOWN]\", \"serialNumber\": \"string\", \"role\": \"string\", \"id\": \"string\", \"Name\": \"string\"}], \"chassisType\": \"Must be one of [STANDALONE, VIRTUAL_CHASSIS, CHASSIS_CLUSTER]\", \"protocol\": \"Must be one of [UNKNOWN_PROTOCOL, SSH, HTTP]\", \"hardwareModel\": \"string\", \"OSVersion\": \"string\", \"Name\": \"string\"}, \"command\": \"array\", \"timeout\": 123, \"user_input_cmd\": [{\"regexp\": \"string\", \"command\": \"string\"}]}",
|
|
709
|
+
"required": true,
|
|
710
|
+
"schema": {
|
|
711
|
+
"type": "object",
|
|
712
|
+
"properties": {
|
|
713
|
+
"telemetry": {
|
|
714
|
+
"type": "boolean",
|
|
715
|
+
"description": "To know whether the request is from application or from HB for metric collection.\nbased on this parameter netconf session is reused. This parameter is applicable only for netconf.\nAlso dedicated netconf sessions of device will be used apart from application requests."
|
|
716
|
+
},
|
|
717
|
+
"device_info": {
|
|
718
|
+
"type": "object",
|
|
719
|
+
"properties": {
|
|
720
|
+
"subSystem": {
|
|
721
|
+
"default": "UNKNOWN_SUBSYSTEM",
|
|
722
|
+
"enum": [
|
|
723
|
+
"UNKNOWN_SUBSYSTEM",
|
|
724
|
+
"Netconf",
|
|
725
|
+
"Cli"
|
|
726
|
+
],
|
|
727
|
+
"type": "string",
|
|
728
|
+
"description": "SubSystem to use to communicate with device, applicable for SSH protocol.\n\n - Netconf: Netconf subsystem\n - Cli: Cli subsystem"
|
|
729
|
+
},
|
|
730
|
+
"networkOS": {
|
|
731
|
+
"type": "string",
|
|
732
|
+
"title": "junos, evo, ios etc"
|
|
733
|
+
},
|
|
734
|
+
"vendor": {
|
|
735
|
+
"type": "string",
|
|
736
|
+
"title": "Juniper, Cisco etc"
|
|
737
|
+
},
|
|
738
|
+
"UUID": {
|
|
739
|
+
"type": "string",
|
|
740
|
+
"title": "Device UUID"
|
|
741
|
+
},
|
|
742
|
+
"family": {
|
|
743
|
+
"type": "string",
|
|
744
|
+
"title": "Device Family string"
|
|
745
|
+
},
|
|
746
|
+
"component": {
|
|
747
|
+
"type": "string",
|
|
748
|
+
"title": "default(junos) or node0/node1 in case of chasis cluster"
|
|
749
|
+
},
|
|
750
|
+
"auth": {
|
|
751
|
+
"type": "object",
|
|
752
|
+
"properties": {
|
|
753
|
+
"password": {
|
|
754
|
+
"type": "string",
|
|
755
|
+
"title": "password to ssh to device"
|
|
756
|
+
},
|
|
757
|
+
"user": {
|
|
758
|
+
"type": "string",
|
|
759
|
+
"description": "user name to ssh to device."
|
|
760
|
+
},
|
|
761
|
+
"ssh_key": {
|
|
762
|
+
"type": "string",
|
|
763
|
+
"description": "ssh public key of the device."
|
|
764
|
+
}
|
|
765
|
+
},
|
|
766
|
+
"description": "AuthInfo username and password to connect to device."
|
|
767
|
+
},
|
|
768
|
+
"routingEngines": {
|
|
769
|
+
"items": {
|
|
770
|
+
"type": "string"
|
|
771
|
+
},
|
|
772
|
+
"type": "array",
|
|
773
|
+
"title": "Routing Engines"
|
|
774
|
+
},
|
|
775
|
+
"lastConfigSyncedTimeStamp": {
|
|
776
|
+
"type": "string",
|
|
777
|
+
"title": "last configured timestamp"
|
|
778
|
+
},
|
|
779
|
+
"members": {
|
|
780
|
+
"items": {
|
|
781
|
+
"type": "object",
|
|
782
|
+
"properties": {
|
|
783
|
+
"loginConnectionState": {
|
|
784
|
+
"default": "UNKNOWN_CONNECTION_STATUS",
|
|
785
|
+
"enum": [
|
|
786
|
+
"UNKNOWN_CONNECTION_STATUS",
|
|
787
|
+
"UP",
|
|
788
|
+
"DOWN"
|
|
789
|
+
],
|
|
790
|
+
"type": "string",
|
|
791
|
+
"description": "ConnectionStatus use to publish device connection status UP/DOWN.\n\n - UP: device connection status UP\n - DOWN: device connection status down"
|
|
792
|
+
},
|
|
793
|
+
"serialNumber": {
|
|
794
|
+
"type": "string",
|
|
795
|
+
"title": "serial number of the FPC"
|
|
796
|
+
},
|
|
797
|
+
"role": {
|
|
798
|
+
"type": "string",
|
|
799
|
+
"title": "FPC role"
|
|
800
|
+
},
|
|
801
|
+
"id": {
|
|
802
|
+
"type": "string",
|
|
803
|
+
"title": "FPC Id"
|
|
804
|
+
},
|
|
805
|
+
"Name": {
|
|
806
|
+
"type": "string",
|
|
807
|
+
"title": "name of the component, eg JUNOS/Node[id=0]"
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
},
|
|
811
|
+
"type": "array",
|
|
812
|
+
"title": "VC or ChassisCluster members"
|
|
813
|
+
},
|
|
814
|
+
"chassisType": {
|
|
815
|
+
"default": "STANDALONE",
|
|
816
|
+
"enum": [
|
|
817
|
+
"STANDALONE",
|
|
818
|
+
"VIRTUAL_CHASSIS",
|
|
819
|
+
"CHASSIS_CLUSTER"
|
|
820
|
+
],
|
|
821
|
+
"type": "string"
|
|
822
|
+
},
|
|
823
|
+
"protocol": {
|
|
824
|
+
"default": "UNKNOWN_PROTOCOL",
|
|
825
|
+
"enum": [
|
|
826
|
+
"UNKNOWN_PROTOCOL",
|
|
827
|
+
"SSH",
|
|
828
|
+
"HTTP"
|
|
829
|
+
],
|
|
830
|
+
"type": "string",
|
|
831
|
+
"description": "Protocol to use to communicate with device.\n\n - SSH: SSH Protocol\n - HTTP: HTTP Protocol"
|
|
832
|
+
},
|
|
833
|
+
"hardwareModel": {
|
|
834
|
+
"type": "string",
|
|
835
|
+
"title": "HardwareModel e.g. ex2300, ex3400 etc"
|
|
836
|
+
},
|
|
837
|
+
"OSVersion": {
|
|
838
|
+
"type": "string",
|
|
839
|
+
"title": "Component OS Version"
|
|
840
|
+
},
|
|
841
|
+
"Name": {
|
|
842
|
+
"type": "string",
|
|
843
|
+
"title": "Device Name"
|
|
844
|
+
}
|
|
845
|
+
},
|
|
846
|
+
"description": "DeviceInfo is the object in which the device details for command are passed from clients to deviceplugins."
|
|
847
|
+
},
|
|
848
|
+
"command": {
|
|
849
|
+
"items": {
|
|
850
|
+
"type": "string"
|
|
851
|
+
},
|
|
852
|
+
"type": "array",
|
|
853
|
+
"title": "Holds the list of commands that needs to be executed"
|
|
854
|
+
},
|
|
855
|
+
"timeout": {
|
|
856
|
+
"title": "User specified request timeout",
|
|
857
|
+
"type": "integer"
|
|
858
|
+
},
|
|
859
|
+
"user_input_cmd": {
|
|
860
|
+
"items": {
|
|
861
|
+
"type": "object",
|
|
862
|
+
"properties": {
|
|
863
|
+
"regexp": {
|
|
864
|
+
"type": "string",
|
|
865
|
+
"title": "regular expressions matches the output of device commands"
|
|
866
|
+
},
|
|
867
|
+
"command": {
|
|
868
|
+
"type": "string",
|
|
869
|
+
"title": "commands includes list of actual command and user input"
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
},
|
|
873
|
+
"type": "array",
|
|
874
|
+
"title": "list of cli commands that required user inputs to execute commands\nContains commands and regex. Commands contains actual device commands and user inputs\nRegular expressions to match expected console output for the command\nfor example cisco device reboot: Proceed with reload? [confirm]"
|
|
875
|
+
}
|
|
876
|
+
},
|
|
877
|
+
"definitions": {}
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
],
|
|
881
|
+
"output": {
|
|
882
|
+
"name": "result",
|
|
883
|
+
"type": "object",
|
|
884
|
+
"description": "A JSON Object containing status, code and the result",
|
|
885
|
+
"schema": {
|
|
886
|
+
"title": "result",
|
|
887
|
+
"type": "object"
|
|
888
|
+
}
|
|
889
|
+
},
|
|
890
|
+
"roles": [
|
|
891
|
+
"admin"
|
|
892
|
+
],
|
|
893
|
+
"route": {
|
|
894
|
+
"verb": "POST",
|
|
895
|
+
"path": "/connectivityServiceOp"
|
|
896
|
+
},
|
|
897
|
+
"task": true
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"name": "connectivityServiceConnectDevice",
|
|
901
|
+
"summary": "ConnectDevice",
|
|
902
|
+
"description": "RPC for initiating device connection. The device must be reachable.",
|
|
903
|
+
"input": [
|
|
904
|
+
{
|
|
905
|
+
"name": "body",
|
|
906
|
+
"type": "object",
|
|
907
|
+
"info": ": {\"edge_uuid\": \"string\", \"least_used\": \"boolean\", \"management_info\": {\"retry\": 123, \"vendor\": \"string\", \"device_uuid\": \"string\", \"ip\": \"string\", \"retry_interval\": 123, \"host_name\": \"string\", \"auth_info\": {\"password\": \"string\", \"user\": \"string\", \"ssh_key\": \"string\"}, \"port\": 123}}",
|
|
908
|
+
"required": true,
|
|
909
|
+
"schema": {
|
|
910
|
+
"type": "object",
|
|
911
|
+
"properties": {
|
|
912
|
+
"edge_uuid": {
|
|
913
|
+
"type": "string",
|
|
914
|
+
"title": "edge uuid if the connection to device via edge"
|
|
915
|
+
},
|
|
916
|
+
"least_used": {
|
|
917
|
+
"type": "boolean",
|
|
918
|
+
"description": "flag used to identify least used DCS pod.\nIf it sets true which means already least used pod computation is done\nand invoking particular pod instead of dcs service."
|
|
919
|
+
},
|
|
920
|
+
"management_info": {
|
|
921
|
+
"type": "object",
|
|
922
|
+
"properties": {
|
|
923
|
+
"retry": {
|
|
924
|
+
"type": "integer",
|
|
925
|
+
"description": "Number of time to retry in case connection to device not established."
|
|
926
|
+
},
|
|
927
|
+
"vendor": {
|
|
928
|
+
"type": "string",
|
|
929
|
+
"title": "vendor input for example: juniper, cisco"
|
|
930
|
+
},
|
|
931
|
+
"device_uuid": {
|
|
932
|
+
"type": "string",
|
|
933
|
+
"title": "Unique Id of the device to retrieve connection from DCS cache"
|
|
934
|
+
},
|
|
935
|
+
"ip": {
|
|
936
|
+
"type": "string"
|
|
937
|
+
},
|
|
938
|
+
"retry_interval": {
|
|
939
|
+
"type": "integer",
|
|
940
|
+
"description": "time interval in seconds to retry."
|
|
941
|
+
},
|
|
942
|
+
"host_name": {
|
|
943
|
+
"type": "string"
|
|
944
|
+
},
|
|
945
|
+
"auth_info": {
|
|
946
|
+
"type": "object",
|
|
947
|
+
"properties": {
|
|
948
|
+
"password": {
|
|
949
|
+
"type": "string",
|
|
950
|
+
"title": "password to ssh to device"
|
|
951
|
+
},
|
|
952
|
+
"user": {
|
|
953
|
+
"type": "string",
|
|
954
|
+
"description": "user name to ssh to device."
|
|
955
|
+
},
|
|
956
|
+
"ssh_key": {
|
|
957
|
+
"type": "string",
|
|
958
|
+
"description": "ssh public key of the device."
|
|
959
|
+
}
|
|
960
|
+
},
|
|
961
|
+
"description": "AuthInfo username and password to connect to device."
|
|
962
|
+
},
|
|
963
|
+
"port": {
|
|
964
|
+
"title": "Management port of the component; \nif not given, connection will use the default port for the protocol",
|
|
965
|
+
"type": "integer"
|
|
966
|
+
}
|
|
967
|
+
},
|
|
968
|
+
"description": "ManagementInfo contains the information necessary to dail out device connection."
|
|
969
|
+
}
|
|
970
|
+
},
|
|
971
|
+
"definitions": {}
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
],
|
|
975
|
+
"output": {
|
|
976
|
+
"name": "result",
|
|
977
|
+
"type": "object",
|
|
978
|
+
"description": "A JSON Object containing status, code and the result",
|
|
979
|
+
"schema": {
|
|
980
|
+
"title": "result",
|
|
981
|
+
"type": "object"
|
|
982
|
+
}
|
|
983
|
+
},
|
|
984
|
+
"roles": [
|
|
985
|
+
"admin"
|
|
986
|
+
],
|
|
987
|
+
"route": {
|
|
988
|
+
"verb": "POST",
|
|
989
|
+
"path": "/connectivityServiceConnectDevice"
|
|
990
|
+
},
|
|
991
|
+
"task": true
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
"name": "connectivityServiceGet",
|
|
995
|
+
"summary": "Get",
|
|
996
|
+
"description": "RPC used to retrieve snapshot of the data from device. Takes input\nas list of command that needs to be executed sequentially.",
|
|
997
|
+
"input": [
|
|
998
|
+
{
|
|
999
|
+
"name": "body",
|
|
1000
|
+
"type": "object",
|
|
1001
|
+
"info": ": {\"device_info\": {\"subSystem\": \"Must be one of [UNKNOWN_SUBSYSTEM, Netconf, Cli]\", \"networkOS\": \"string\", \"vendor\": \"string\", \"UUID\": \"string\", \"family\": \"string\", \"component\": \"string\", \"auth\": {\"password\": \"string\", \"user\": \"string\", \"ssh_key\": \"string\"}, \"routingEngines\": \"array\", \"lastConfigSyncedTimeStamp\": \"string\", \"members\": [{\"loginConnectionState\": \"Must be one of [UNKNOWN_CONNECTION_STATUS, UP, DOWN]\", \"serialNumber\": \"string\", \"role\": \"string\", \"id\": \"string\", \"Name\": \"string\"}], \"chassisType\": \"Must be one of [STANDALONE, VIRTUAL_CHASSIS, CHASSIS_CLUSTER]\", \"protocol\": \"Must be one of [UNKNOWN_PROTOCOL, SSH, HTTP]\", \"hardwareModel\": \"string\", \"OSVersion\": \"string\", \"Name\": \"string\"}, \"command\": \"array\", \"timeout\": 123, \"user_input_cmd\": [{\"regexp\": \"string\", \"command\": \"string\"}]}",
|
|
1002
|
+
"required": true,
|
|
1003
|
+
"schema": {
|
|
1004
|
+
"type": "object",
|
|
1005
|
+
"properties": {
|
|
1006
|
+
"device_info": {
|
|
1007
|
+
"type": "object",
|
|
1008
|
+
"properties": {
|
|
1009
|
+
"subSystem": {
|
|
1010
|
+
"default": "UNKNOWN_SUBSYSTEM",
|
|
1011
|
+
"enum": [
|
|
1012
|
+
"UNKNOWN_SUBSYSTEM",
|
|
1013
|
+
"Netconf",
|
|
1014
|
+
"Cli"
|
|
1015
|
+
],
|
|
1016
|
+
"type": "string",
|
|
1017
|
+
"description": "SubSystem to use to communicate with device, applicable for SSH protocol.\n\n - Netconf: Netconf subsystem\n - Cli: Cli subsystem"
|
|
1018
|
+
},
|
|
1019
|
+
"networkOS": {
|
|
1020
|
+
"type": "string",
|
|
1021
|
+
"title": "junos, evo, ios etc"
|
|
1022
|
+
},
|
|
1023
|
+
"vendor": {
|
|
1024
|
+
"type": "string",
|
|
1025
|
+
"title": "Juniper, Cisco etc"
|
|
1026
|
+
},
|
|
1027
|
+
"UUID": {
|
|
1028
|
+
"type": "string",
|
|
1029
|
+
"title": "Device UUID"
|
|
1030
|
+
},
|
|
1031
|
+
"family": {
|
|
1032
|
+
"type": "string",
|
|
1033
|
+
"title": "Device Family string"
|
|
1034
|
+
},
|
|
1035
|
+
"component": {
|
|
1036
|
+
"type": "string",
|
|
1037
|
+
"title": "default(junos) or node0/node1 in case of chasis cluster"
|
|
1038
|
+
},
|
|
1039
|
+
"auth": {
|
|
1040
|
+
"type": "object",
|
|
1041
|
+
"properties": {
|
|
1042
|
+
"password": {
|
|
1043
|
+
"type": "string",
|
|
1044
|
+
"title": "password to ssh to device"
|
|
1045
|
+
},
|
|
1046
|
+
"user": {
|
|
1047
|
+
"type": "string",
|
|
1048
|
+
"description": "user name to ssh to device."
|
|
1049
|
+
},
|
|
1050
|
+
"ssh_key": {
|
|
1051
|
+
"type": "string",
|
|
1052
|
+
"description": "ssh public key of the device."
|
|
1053
|
+
}
|
|
1054
|
+
},
|
|
1055
|
+
"description": "AuthInfo username and password to connect to device."
|
|
1056
|
+
},
|
|
1057
|
+
"routingEngines": {
|
|
1058
|
+
"items": {
|
|
1059
|
+
"type": "string"
|
|
1060
|
+
},
|
|
1061
|
+
"type": "array",
|
|
1062
|
+
"title": "Routing Engines"
|
|
1063
|
+
},
|
|
1064
|
+
"lastConfigSyncedTimeStamp": {
|
|
1065
|
+
"type": "string",
|
|
1066
|
+
"title": "last configured timestamp"
|
|
1067
|
+
},
|
|
1068
|
+
"members": {
|
|
1069
|
+
"items": {
|
|
1070
|
+
"type": "object",
|
|
1071
|
+
"properties": {
|
|
1072
|
+
"loginConnectionState": {
|
|
1073
|
+
"default": "UNKNOWN_CONNECTION_STATUS",
|
|
1074
|
+
"enum": [
|
|
1075
|
+
"UNKNOWN_CONNECTION_STATUS",
|
|
1076
|
+
"UP",
|
|
1077
|
+
"DOWN"
|
|
1078
|
+
],
|
|
1079
|
+
"type": "string",
|
|
1080
|
+
"description": "ConnectionStatus use to publish device connection status UP/DOWN.\n\n - UP: device connection status UP\n - DOWN: device connection status down"
|
|
1081
|
+
},
|
|
1082
|
+
"serialNumber": {
|
|
1083
|
+
"type": "string",
|
|
1084
|
+
"title": "serial number of the FPC"
|
|
1085
|
+
},
|
|
1086
|
+
"role": {
|
|
1087
|
+
"type": "string",
|
|
1088
|
+
"title": "FPC role"
|
|
1089
|
+
},
|
|
1090
|
+
"id": {
|
|
1091
|
+
"type": "string",
|
|
1092
|
+
"title": "FPC Id"
|
|
1093
|
+
},
|
|
1094
|
+
"Name": {
|
|
1095
|
+
"type": "string",
|
|
1096
|
+
"title": "name of the component, eg JUNOS/Node[id=0]"
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
},
|
|
1100
|
+
"type": "array",
|
|
1101
|
+
"title": "VC or ChassisCluster members"
|
|
1102
|
+
},
|
|
1103
|
+
"chassisType": {
|
|
1104
|
+
"default": "STANDALONE",
|
|
1105
|
+
"enum": [
|
|
1106
|
+
"STANDALONE",
|
|
1107
|
+
"VIRTUAL_CHASSIS",
|
|
1108
|
+
"CHASSIS_CLUSTER"
|
|
1109
|
+
],
|
|
1110
|
+
"type": "string"
|
|
1111
|
+
},
|
|
1112
|
+
"protocol": {
|
|
1113
|
+
"default": "UNKNOWN_PROTOCOL",
|
|
1114
|
+
"enum": [
|
|
1115
|
+
"UNKNOWN_PROTOCOL",
|
|
1116
|
+
"SSH",
|
|
1117
|
+
"HTTP"
|
|
1118
|
+
],
|
|
1119
|
+
"type": "string",
|
|
1120
|
+
"description": "Protocol to use to communicate with device.\n\n - SSH: SSH Protocol\n - HTTP: HTTP Protocol"
|
|
1121
|
+
},
|
|
1122
|
+
"hardwareModel": {
|
|
1123
|
+
"type": "string",
|
|
1124
|
+
"title": "HardwareModel e.g. ex2300, ex3400 etc"
|
|
1125
|
+
},
|
|
1126
|
+
"OSVersion": {
|
|
1127
|
+
"type": "string",
|
|
1128
|
+
"title": "Component OS Version"
|
|
1129
|
+
},
|
|
1130
|
+
"Name": {
|
|
1131
|
+
"type": "string",
|
|
1132
|
+
"title": "Device Name"
|
|
1133
|
+
}
|
|
1134
|
+
},
|
|
1135
|
+
"description": "DeviceInfo is the object in which the device details for command are passed from clients to deviceplugins."
|
|
1136
|
+
},
|
|
1137
|
+
"command": {
|
|
1138
|
+
"items": {
|
|
1139
|
+
"type": "string"
|
|
1140
|
+
},
|
|
1141
|
+
"type": "array",
|
|
1142
|
+
"title": "Holds the list of commands that needs to be executed"
|
|
1143
|
+
},
|
|
1144
|
+
"timeout": {
|
|
1145
|
+
"title": "User specified request timeout",
|
|
1146
|
+
"type": "integer"
|
|
1147
|
+
},
|
|
1148
|
+
"user_input_cmd": {
|
|
1149
|
+
"items": {
|
|
1150
|
+
"type": "object",
|
|
1151
|
+
"properties": {
|
|
1152
|
+
"regexp": {
|
|
1153
|
+
"type": "string",
|
|
1154
|
+
"title": "regular expressions matches the output of device commands"
|
|
1155
|
+
},
|
|
1156
|
+
"command": {
|
|
1157
|
+
"type": "string",
|
|
1158
|
+
"title": "commands includes list of actual command and user input"
|
|
1159
|
+
}
|
|
1160
|
+
}
|
|
1161
|
+
},
|
|
1162
|
+
"type": "array",
|
|
1163
|
+
"title": "list of cli commands that required user inputs to execute commands\nContains commands and regex. Commands contains actual device commands and user inputs\nRegular expressions to match expected console output for the command\nfor example cisco device reboot: Proceed with reload? [confirm]"
|
|
1164
|
+
}
|
|
1165
|
+
},
|
|
1166
|
+
"definitions": {}
|
|
1167
|
+
}
|
|
1168
|
+
}
|
|
1169
|
+
],
|
|
1170
|
+
"output": {
|
|
1171
|
+
"name": "result",
|
|
1172
|
+
"type": "object",
|
|
1173
|
+
"description": "A JSON Object containing status, code and the result",
|
|
1174
|
+
"schema": {
|
|
1175
|
+
"title": "result",
|
|
1176
|
+
"type": "object"
|
|
1177
|
+
}
|
|
1178
|
+
},
|
|
1179
|
+
"roles": [
|
|
1180
|
+
"admin"
|
|
1181
|
+
],
|
|
1182
|
+
"route": {
|
|
1183
|
+
"verb": "POST",
|
|
1184
|
+
"path": "/connectivityServiceGet"
|
|
1185
|
+
},
|
|
1186
|
+
"task": true
|
|
1187
|
+
},
|
|
1188
|
+
{
|
|
1189
|
+
"name": "connectivityServiceSet",
|
|
1190
|
+
"summary": "Set",
|
|
1191
|
+
"description": "RPC used to modify the configuration on the device. Takes input\nas set of configuration commands along with to commit or validate\nor confirmed commit the commands.",
|
|
1192
|
+
"input": [
|
|
1193
|
+
{
|
|
1194
|
+
"name": "body",
|
|
1195
|
+
"type": "object",
|
|
1196
|
+
"info": ": {\"commit_info\": {\"comment\": \"string\", \"synchronize\": \"boolean\", \"auto_confirmed_commit_timeout\": 123, \"commit_check\": \"boolean\"}, \"device_info\": {\"subSystem\": \"Must be one of [UNKNOWN_SUBSYSTEM, Netconf, Cli]\", \"networkOS\": \"string\", \"vendor\": \"string\", \"UUID\": \"string\", \"family\": \"string\", \"component\": \"string\", \"auth\": {\"password\": \"string\", \"user\": \"string\", \"ssh_key\": \"string\"}, \"routingEngines\": \"array\", \"lastConfigSyncedTimeStamp\": \"string\", \"members\": [{\"loginConnectionState\": \"Must be one of [UNKNOWN_CONNECTION_STATUS, UP, DOWN]\", \"serialNumber\": \"string\", \"role\": \"string\", \"id\": \"string\", \"Name\": \"string\"}], \"chassisType\": \"Must be one of [STANDALONE, VIRTUAL_CHASSIS, CHASSIS_CLUSTER]\", \"protocol\": \"Must be one of [UNKNOWN_PROTOCOL, SSH, HTTP]\", \"hardwareModel\": \"string\", \"OSVersion\": \"string\", \"Name\": \"string\"}, \"command\": \"array\", \"ephemeral_info\": {\"ephemeral_open_cmd\": \"string\", \"ephemeral_close_cmd\": \"string\"}, \"timeout\": 123}",
|
|
1197
|
+
"required": true,
|
|
1198
|
+
"schema": {
|
|
1199
|
+
"type": "object",
|
|
1200
|
+
"properties": {
|
|
1201
|
+
"commit_info": {
|
|
1202
|
+
"type": "object",
|
|
1203
|
+
"properties": {
|
|
1204
|
+
"comment": {
|
|
1205
|
+
"type": "string",
|
|
1206
|
+
"description": "Junos allows user to add comment to each commit.\nThis comment will be pushed to device along with commit command or confirm. It is only used for SET command."
|
|
1207
|
+
},
|
|
1208
|
+
"synchronize": {
|
|
1209
|
+
"type": "boolean",
|
|
1210
|
+
"description": "Virtual chassis (VC) having multiple RE to commit configuration in both master and backup."
|
|
1211
|
+
},
|
|
1212
|
+
"auto_confirmed_commit_timeout": {
|
|
1213
|
+
"type": "integer",
|
|
1214
|
+
"description": "Specify the time in seconds to commit the confirmed configuration, so that DCS will first push configuration\nwith confirm commit timeout greater than this field and then send commit after the\ntime period of auto_confirmed_commit_timeout value."
|
|
1215
|
+
},
|
|
1216
|
+
"commit_check": {
|
|
1217
|
+
"type": "boolean",
|
|
1218
|
+
"description": "Junos allows user to do commit check the configuration to validate. It is only used for SET command."
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
},
|
|
1222
|
+
"device_info": {
|
|
1223
|
+
"type": "object",
|
|
1224
|
+
"properties": {
|
|
1225
|
+
"subSystem": {
|
|
1226
|
+
"default": "UNKNOWN_SUBSYSTEM",
|
|
1227
|
+
"enum": [
|
|
1228
|
+
"UNKNOWN_SUBSYSTEM",
|
|
1229
|
+
"Netconf",
|
|
1230
|
+
"Cli"
|
|
1231
|
+
],
|
|
1232
|
+
"type": "string",
|
|
1233
|
+
"description": "SubSystem to use to communicate with device, applicable for SSH protocol.\n\n - Netconf: Netconf subsystem\n - Cli: Cli subsystem"
|
|
1234
|
+
},
|
|
1235
|
+
"networkOS": {
|
|
1236
|
+
"type": "string",
|
|
1237
|
+
"title": "junos, evo, ios etc"
|
|
1238
|
+
},
|
|
1239
|
+
"vendor": {
|
|
1240
|
+
"type": "string",
|
|
1241
|
+
"title": "Juniper, Cisco etc"
|
|
1242
|
+
},
|
|
1243
|
+
"UUID": {
|
|
1244
|
+
"type": "string",
|
|
1245
|
+
"title": "Device UUID"
|
|
1246
|
+
},
|
|
1247
|
+
"family": {
|
|
1248
|
+
"type": "string",
|
|
1249
|
+
"title": "Device Family string"
|
|
1250
|
+
},
|
|
1251
|
+
"component": {
|
|
1252
|
+
"type": "string",
|
|
1253
|
+
"title": "default(junos) or node0/node1 in case of chasis cluster"
|
|
1254
|
+
},
|
|
1255
|
+
"auth": {
|
|
1256
|
+
"type": "object",
|
|
1257
|
+
"properties": {
|
|
1258
|
+
"password": {
|
|
1259
|
+
"type": "string",
|
|
1260
|
+
"title": "password to ssh to device"
|
|
1261
|
+
},
|
|
1262
|
+
"user": {
|
|
1263
|
+
"type": "string",
|
|
1264
|
+
"description": "user name to ssh to device."
|
|
1265
|
+
},
|
|
1266
|
+
"ssh_key": {
|
|
1267
|
+
"type": "string",
|
|
1268
|
+
"description": "ssh public key of the device."
|
|
1269
|
+
}
|
|
1270
|
+
},
|
|
1271
|
+
"description": "AuthInfo username and password to connect to device."
|
|
1272
|
+
},
|
|
1273
|
+
"routingEngines": {
|
|
1274
|
+
"items": {
|
|
1275
|
+
"type": "string"
|
|
1276
|
+
},
|
|
1277
|
+
"type": "array",
|
|
1278
|
+
"title": "Routing Engines"
|
|
1279
|
+
},
|
|
1280
|
+
"lastConfigSyncedTimeStamp": {
|
|
1281
|
+
"type": "string",
|
|
1282
|
+
"title": "last configured timestamp"
|
|
1283
|
+
},
|
|
1284
|
+
"members": {
|
|
1285
|
+
"items": {
|
|
1286
|
+
"type": "object",
|
|
1287
|
+
"properties": {
|
|
1288
|
+
"loginConnectionState": {
|
|
1289
|
+
"default": "UNKNOWN_CONNECTION_STATUS",
|
|
1290
|
+
"enum": [
|
|
1291
|
+
"UNKNOWN_CONNECTION_STATUS",
|
|
1292
|
+
"UP",
|
|
1293
|
+
"DOWN"
|
|
1294
|
+
],
|
|
1295
|
+
"type": "string",
|
|
1296
|
+
"description": "ConnectionStatus use to publish device connection status UP/DOWN.\n\n - UP: device connection status UP\n - DOWN: device connection status down"
|
|
1297
|
+
},
|
|
1298
|
+
"serialNumber": {
|
|
1299
|
+
"type": "string",
|
|
1300
|
+
"title": "serial number of the FPC"
|
|
1301
|
+
},
|
|
1302
|
+
"role": {
|
|
1303
|
+
"type": "string",
|
|
1304
|
+
"title": "FPC role"
|
|
1305
|
+
},
|
|
1306
|
+
"id": {
|
|
1307
|
+
"type": "string",
|
|
1308
|
+
"title": "FPC Id"
|
|
1309
|
+
},
|
|
1310
|
+
"Name": {
|
|
1311
|
+
"type": "string",
|
|
1312
|
+
"title": "name of the component, eg JUNOS/Node[id=0]"
|
|
1313
|
+
}
|
|
1314
|
+
}
|
|
1315
|
+
},
|
|
1316
|
+
"type": "array",
|
|
1317
|
+
"title": "VC or ChassisCluster members"
|
|
1318
|
+
},
|
|
1319
|
+
"chassisType": {
|
|
1320
|
+
"default": "STANDALONE",
|
|
1321
|
+
"enum": [
|
|
1322
|
+
"STANDALONE",
|
|
1323
|
+
"VIRTUAL_CHASSIS",
|
|
1324
|
+
"CHASSIS_CLUSTER"
|
|
1325
|
+
],
|
|
1326
|
+
"type": "string"
|
|
1327
|
+
},
|
|
1328
|
+
"protocol": {
|
|
1329
|
+
"default": "UNKNOWN_PROTOCOL",
|
|
1330
|
+
"enum": [
|
|
1331
|
+
"UNKNOWN_PROTOCOL",
|
|
1332
|
+
"SSH",
|
|
1333
|
+
"HTTP"
|
|
1334
|
+
],
|
|
1335
|
+
"type": "string",
|
|
1336
|
+
"description": "Protocol to use to communicate with device.\n\n - SSH: SSH Protocol\n - HTTP: HTTP Protocol"
|
|
1337
|
+
},
|
|
1338
|
+
"hardwareModel": {
|
|
1339
|
+
"type": "string",
|
|
1340
|
+
"title": "HardwareModel e.g. ex2300, ex3400 etc"
|
|
1341
|
+
},
|
|
1342
|
+
"OSVersion": {
|
|
1343
|
+
"type": "string",
|
|
1344
|
+
"title": "Component OS Version"
|
|
1345
|
+
},
|
|
1346
|
+
"Name": {
|
|
1347
|
+
"type": "string",
|
|
1348
|
+
"title": "Device Name"
|
|
1349
|
+
}
|
|
1350
|
+
},
|
|
1351
|
+
"description": "DeviceInfo is the object in which the device details for command are passed from clients to deviceplugins."
|
|
1352
|
+
},
|
|
1353
|
+
"command": {
|
|
1354
|
+
"items": {
|
|
1355
|
+
"type": "string"
|
|
1356
|
+
},
|
|
1357
|
+
"type": "array",
|
|
1358
|
+
"title": "Holds the list of commands that needs to be executed"
|
|
1359
|
+
},
|
|
1360
|
+
"ephemeral_info": {
|
|
1361
|
+
"type": "object",
|
|
1362
|
+
"properties": {
|
|
1363
|
+
"ephemeral_open_cmd": {
|
|
1364
|
+
"type": "string",
|
|
1365
|
+
"description": "Junos devices allow user to open ephemeral database and push the configuration.\ncommand to open ephemeral database."
|
|
1366
|
+
},
|
|
1367
|
+
"ephemeral_close_cmd": {
|
|
1368
|
+
"type": "string",
|
|
1369
|
+
"description": "command to close ephemeral database after pushing configuration to device."
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
},
|
|
1373
|
+
"timeout": {
|
|
1374
|
+
"title": "User specified request timeout",
|
|
1375
|
+
"type": "integer"
|
|
1376
|
+
}
|
|
1377
|
+
},
|
|
1378
|
+
"definitions": {}
|
|
1379
|
+
}
|
|
1380
|
+
}
|
|
1381
|
+
],
|
|
1382
|
+
"output": {
|
|
1383
|
+
"name": "result",
|
|
1384
|
+
"type": "object",
|
|
1385
|
+
"description": "A JSON Object containing status, code and the result",
|
|
1386
|
+
"schema": {
|
|
1387
|
+
"title": "result",
|
|
1388
|
+
"type": "object"
|
|
1389
|
+
}
|
|
1390
|
+
},
|
|
1391
|
+
"roles": [
|
|
1392
|
+
"admin"
|
|
1393
|
+
],
|
|
1394
|
+
"route": {
|
|
1395
|
+
"verb": "POST",
|
|
1396
|
+
"path": "/connectivityServiceSet"
|
|
1397
|
+
},
|
|
1398
|
+
"task": true
|
|
1399
|
+
}
|
|
1400
|
+
],
|
|
1401
|
+
"views": []
|
|
1402
|
+
}
|