@itentialopensource/adapter-paragon_dcs 0.1.1 → 0.2.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 (40) hide show
  1. package/.eslintignore +0 -1
  2. package/.jshintrc +3 -0
  3. package/CALLS.md +5 -9
  4. package/CHANGELOG.md +8 -1
  5. package/CONTRIBUTING.md +1 -160
  6. package/ENHANCE.md +2 -2
  7. package/README.md +31 -22
  8. package/adapter.js +159 -330
  9. package/adapterBase.js +538 -873
  10. package/changelogs/changelog.md +9 -0
  11. package/metadata.json +49 -0
  12. package/package.json +23 -26
  13. package/pronghorn.json +474 -142
  14. package/propertiesSchema.json +453 -40
  15. package/refs?service=git-upload-pack +0 -0
  16. package/report/adapter-openapi.json +947 -0
  17. package/report/adapter-openapi.yaml +944 -0
  18. package/report/adapterInfo.json +8 -8
  19. package/report/updateReport1698421448161.json +120 -0
  20. package/sampleProperties.json +63 -2
  21. package/test/integration/adapterTestBasicGet.js +1 -1
  22. package/test/integration/adapterTestConnectivity.js +91 -42
  23. package/test/integration/adapterTestIntegration.js +130 -2
  24. package/test/unit/adapterBaseTestUnit.js +388 -313
  25. package/test/unit/adapterTestUnit.js +306 -109
  26. package/utils/adapterInfo.js +1 -1
  27. package/utils/addAuth.js +1 -1
  28. package/utils/artifactize.js +1 -1
  29. package/utils/checkMigrate.js +1 -1
  30. package/utils/entitiesToDB.js +1 -0
  31. package/utils/findPath.js +1 -1
  32. package/utils/methodDocumentor.js +71 -23
  33. package/utils/modify.js +13 -15
  34. package/utils/packModificationScript.js +1 -1
  35. package/utils/taskMover.js +309 -0
  36. package/utils/tbScript.js +3 -10
  37. package/utils/tbUtils.js +2 -3
  38. package/utils/testRunner.js +1 -1
  39. package/utils/troubleshootingAdapter.js +1 -3
  40. package/workflows/README.md +0 -3
@@ -0,0 +1,944 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ title: naas/ems/dcs/proto/v1/dcs.proto
4
+ description: "\n\n# Copyright\n\nJuniper Networks, Inc. \n1133 Innovation Way Sunnyvale, California 94089 USA \n408-745-2000 \nwww.juniper.net\n\nCopyright © 2021, Juniper Networks, Inc. All rights reserved.\n\nJuniper Networks, the Juniper Networks logo, Juniper, and Junos are registered trademarks of Juniper Networks, Inc. and/or its affiliates in the United States and other countries. All other trademarks may be property of their respective owners.\nJuniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right to change, modify, transfer, or otherwise revise this publication without notice.\n\n\nThe information in this document is current as of the date on the title page.\n\nYEAR 2000 NOTICE\n\nJuniper Networks hardware and software products are Year 2000 compliant. Junos OS has no known time-related limitations through the year 2038. However, the NTP application is known to have some difficulty in the year 2036.\n\nEND USER LICENSE AGREEMENT\n\nThe Juniper Networks product that is the subject of this technical documentation consists of (or is intended for use with) Juniper Networks software. Use of such software is subject to the terms and conditions of the End User License Agreement (“EULA”) posted at http://www.juniper.net/support/eula.html. By downloading, installing or using such software, you agree to the terms and conditions of that EULA.\n\n\n"
5
+ contact: {}
6
+ version: '1.0'
7
+ servers:
8
+ - url: https://{defaultHost}
9
+ variables:
10
+ defaultHost:
11
+ default: www.example.com
12
+ paths:
13
+ /dcs/v1/disconnect-device:
14
+ post:
15
+ tags:
16
+ - ConnectivityService
17
+ summary: ConnectivityService_DisconnectDevice
18
+ description: RPC used to terminate device connection.
19
+ operationId: ConnectivityService_DisconnectDevice
20
+ parameters: []
21
+ requestBody:
22
+ description: ''
23
+ content:
24
+ application/json:
25
+ schema:
26
+ $ref: '#/components/schemas/v1DisconnectDeviceRequest'
27
+ required: true
28
+ responses:
29
+ '200':
30
+ description: A successful response.
31
+ headers: {}
32
+ content:
33
+ application/json:
34
+ schema:
35
+ $ref: '#/components/schemas/Disconnectdeviceresponse'
36
+ default:
37
+ description: An unexpected error response
38
+ headers: {}
39
+ content:
40
+ application/json:
41
+ schema:
42
+ $ref: '#/components/schemas/gatewayruntimeError'
43
+ deprecated: false
44
+ /dcs/v1/execute-op:
45
+ post:
46
+ tags:
47
+ - ConnectivityService
48
+ summary: ConnectivityService_Op
49
+ description: >-
50
+ RPC used to perform operations on device like reboot device or request
51
+
52
+ file put. Takes input as list of commands and returns the result
53
+ operationId: ConnectivityService_Op
54
+ parameters: []
55
+ requestBody:
56
+ description: ''
57
+ content:
58
+ application/json:
59
+ schema:
60
+ $ref: '#/components/schemas/v1OpRequest'
61
+ required: true
62
+ responses:
63
+ '200':
64
+ description: A successful response.
65
+ headers: {}
66
+ content:
67
+ application/json:
68
+ schema:
69
+ $ref: '#/components/schemas/OperationalCommandResponse'
70
+ default:
71
+ description: An unexpected error response
72
+ headers: {}
73
+ content:
74
+ application/json:
75
+ schema:
76
+ $ref: '#/components/schemas/gatewayruntimeError'
77
+ deprecated: false
78
+ /dcs/v1/connect-device:
79
+ post:
80
+ tags:
81
+ - ConnectivityService
82
+ summary: ConnectivityService_ConnectDevice
83
+ description: RPC for initiating device connection. The device must be reachable.
84
+ operationId: ConnectivityService_ConnectDevice
85
+ parameters: []
86
+ requestBody:
87
+ description: ''
88
+ content:
89
+ application/json:
90
+ schema:
91
+ $ref: '#/components/schemas/v1ConnectDeviceRequest'
92
+ required: true
93
+ responses:
94
+ '200':
95
+ description: A successful response.
96
+ headers: {}
97
+ content:
98
+ application/json:
99
+ schema:
100
+ $ref: '#/components/schemas/Connectdeviceresponse'
101
+ default:
102
+ description: An unexpected error response
103
+ headers: {}
104
+ content:
105
+ application/json:
106
+ schema:
107
+ $ref: '#/components/schemas/gatewayruntimeError'
108
+ deprecated: false
109
+ /dcs/v1/execute-get:
110
+ post:
111
+ tags:
112
+ - ConnectivityService
113
+ summary: ConnectivityService_Get
114
+ description: >-
115
+ RPC used to retrieve snapshot of the data from device. Takes input
116
+
117
+ as list of command that needs to be executed sequentially.
118
+ operationId: ConnectivityService_Get
119
+ parameters: []
120
+ requestBody:
121
+ description: ''
122
+ content:
123
+ application/json:
124
+ schema:
125
+ $ref: '#/components/schemas/dcsv1GetRequest'
126
+ required: true
127
+ responses:
128
+ '200':
129
+ description: A successful response.
130
+ headers: {}
131
+ content:
132
+ application/json:
133
+ schema:
134
+ $ref: '#/components/schemas/GetCommandResponse'
135
+ default:
136
+ description: An unexpected error response
137
+ headers: {}
138
+ content:
139
+ application/json:
140
+ schema:
141
+ $ref: '#/components/schemas/gatewayruntimeError'
142
+ deprecated: false
143
+ /dcs/v1/execute-set:
144
+ post:
145
+ tags:
146
+ - ConnectivityService
147
+ summary: ConnectivityService_Set
148
+ description: >-
149
+ RPC used to modify the configuration on the device. Takes input
150
+
151
+ as set of configuration commands along with to commit or validate
152
+
153
+ or confirmed commit the commands.
154
+ operationId: ConnectivityService_Set
155
+ parameters: []
156
+ requestBody:
157
+ description: ''
158
+ content:
159
+ application/json:
160
+ schema:
161
+ $ref: '#/components/schemas/dcsv1SetRequest'
162
+ required: true
163
+ responses:
164
+ '200':
165
+ description: A successful response.
166
+ headers: {}
167
+ content:
168
+ application/json:
169
+ schema:
170
+ allOf:
171
+ - $ref: '#/components/schemas/typesSetResponse'
172
+ - description: SetResponse contains the result of executing configuration commands on device.
173
+ default:
174
+ description: An unexpected error response
175
+ headers: {}
176
+ content:
177
+ application/json:
178
+ schema:
179
+ $ref: '#/components/schemas/gatewayruntimeError'
180
+ deprecated: false
181
+ components:
182
+ schemas:
183
+ typesDeviceConnectionStatus:
184
+ title: typesDeviceConnectionStatus
185
+ type: object
186
+ properties:
187
+ timeStamp:
188
+ type: string
189
+ endPoint:
190
+ type: string
191
+ deviceId:
192
+ type: string
193
+ connectionStatus:
194
+ allOf:
195
+ - $ref: '#/components/schemas/typesConnectionStatus'
196
+ - description: >-
197
+ ConnectionStatus use to publish device connection status UP/DOWN.
198
+
199
+ - UP: device connection status UP
200
+ - DOWN: device connection status down
201
+ description: DeviceConnectionStatus contains connection id and device status.
202
+ ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues:
203
+ title: ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues
204
+ enum:
205
+ - NoError
206
+ - ConnectionError
207
+ - SetCommandFailed
208
+ - RequestTimedOut
209
+ - CommitFailed
210
+ - ConfigLockFailed
211
+ - EphemeralOpenFailed
212
+ - EphemeralCloseFailed
213
+ type: string
214
+ description: >-
215
+ - NoError: returns default no error to the caller
216
+ - ConnectionError: ConnectionError if there is connection lost to device
217
+ - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
218
+ - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
219
+ - CommitFailed: CommitFailed returned when configuration to device fail
220
+ - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
221
+ - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
222
+ - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
223
+ gatewayruntimeError:
224
+ title: gatewayruntimeError
225
+ type: object
226
+ properties:
227
+ message:
228
+ type: string
229
+ code:
230
+ type: integer
231
+ format: int32
232
+ details:
233
+ type: array
234
+ items:
235
+ $ref: '#/components/schemas/protobufAny'
236
+ description: ''
237
+ error:
238
+ type: string
239
+ typesUserInputCommand:
240
+ title: typesUserInputCommand
241
+ type: object
242
+ properties:
243
+ regexp:
244
+ type: string
245
+ command:
246
+ type: string
247
+ v1GetDeviceConnectionDetailsResponse:
248
+ title: v1GetDeviceConnectionDetailsResponse
249
+ type: object
250
+ properties:
251
+ connection_data:
252
+ $ref: '#/components/schemas/typesConnData'
253
+ typesChassisType:
254
+ title: typesChassisType
255
+ enum:
256
+ - STANDALONE
257
+ - VIRTUAL_CHASSIS
258
+ - CHASSIS_CLUSTER
259
+ type: string
260
+ v1OpRequest:
261
+ title: v1OpRequest
262
+ type: object
263
+ properties:
264
+ telemetry:
265
+ type: boolean
266
+ description: >-
267
+ To know whether the request is from application or from HB for metric collection.
268
+
269
+ based on this parameter netconf session is reused. This parameter is applicable only for netconf.
270
+
271
+ Also dedicated netconf sessions of device will be used apart from application requests.
272
+ device_info:
273
+ allOf:
274
+ - $ref: '#/components/schemas/typesDeviceInfo'
275
+ - description: DeviceInfo is the object in which the device details for command are passed from clients to deviceplugins.
276
+ command:
277
+ type: array
278
+ items:
279
+ type: string
280
+ description: ''
281
+ timeout:
282
+ type: integer
283
+ format: int32
284
+ user_input_cmd:
285
+ type: array
286
+ items:
287
+ $ref: '#/components/schemas/typesUserInputCommand'
288
+ description: ''
289
+ typesProtocol:
290
+ title: typesProtocol
291
+ enum:
292
+ - UNKNOWN_PROTOCOL
293
+ - SSH
294
+ - HTTP
295
+ type: string
296
+ description: >-
297
+ Protocol to use to communicate with device.
298
+
299
+ - SSH: SSH Protocol
300
+ - HTTP: HTTP Protocol
301
+ CommandResultPair:
302
+ title: CommandResultPair
303
+ type: object
304
+ properties:
305
+ command:
306
+ type: string
307
+ result:
308
+ type: string
309
+ typesCommitInfo:
310
+ title: typesCommitInfo
311
+ type: object
312
+ properties:
313
+ comment:
314
+ type: string
315
+ description: >-
316
+ Junos allows user to add comment to each commit.
317
+
318
+ This comment will be pushed to device along with commit command or confirm. It is only used for SET command.
319
+ synchronize:
320
+ type: boolean
321
+ description: Virtual chassis (VC) having multiple RE to commit configuration in both master and backup.
322
+ auto_confirmed_commit_timeout:
323
+ type: integer
324
+ description: >-
325
+ Specify the time in seconds to commit the confirmed configuration, so that DCS will first push configuration
326
+
327
+ with confirm commit timeout greater than this field and then send commit after the
328
+
329
+ time period of auto_confirmed_commit_timeout value.
330
+ format: int32
331
+ commit_check:
332
+ type: boolean
333
+ description: Junos allows user to do commit check the configuration to validate. It is only used for SET command.
334
+ typesConnData:
335
+ title: typesConnData
336
+ type: object
337
+ properties:
338
+ time_stamp:
339
+ type: string
340
+ description: time stamp when the connection is UP.
341
+ endpoint:
342
+ type: string
343
+ connection_id:
344
+ type: string
345
+ typesDeviceInfo:
346
+ title: typesDeviceInfo
347
+ type: object
348
+ properties:
349
+ subSystem:
350
+ allOf:
351
+ - $ref: '#/components/schemas/typesSubSystem'
352
+ - description: >-
353
+ SubSystem to use to communicate with device, applicable for SSH protocol.
354
+
355
+ - Netconf: Netconf subsystem
356
+ - Cli: Cli subsystem
357
+ networkOS:
358
+ type: string
359
+ vendor:
360
+ type: string
361
+ UUID:
362
+ type: string
363
+ family:
364
+ type: string
365
+ component:
366
+ type: string
367
+ auth:
368
+ allOf:
369
+ - $ref: '#/components/schemas/typesAuthInfo'
370
+ - description: AuthInfo username and password to connect to device.
371
+ routingEngines:
372
+ type: array
373
+ items:
374
+ type: string
375
+ description: ''
376
+ lastConfigSyncedTimeStamp:
377
+ type: string
378
+ members:
379
+ type: array
380
+ items:
381
+ $ref: '#/components/schemas/typesMember'
382
+ description: ''
383
+ chassisType:
384
+ $ref: '#/components/schemas/typesChassisType'
385
+ protocol:
386
+ allOf:
387
+ - $ref: '#/components/schemas/typesProtocol'
388
+ - description: >-
389
+ Protocol to use to communicate with device.
390
+
391
+ - SSH: SSH Protocol
392
+ - HTTP: HTTP Protocol
393
+ hardwareModel:
394
+ type: string
395
+ OSVersion:
396
+ type: string
397
+ Name:
398
+ type: string
399
+ description: DeviceInfo is the object in which the device details for command are passed from clients to deviceplugins.
400
+ -ALLreturnslistoffconnectionsheldbyallDCSpods-PARTICULARreturnslistofconnectionheldbythatparticularDCSpod:
401
+ title: -ALLreturnslistoffconnectionsheldbyallDCSpods-PARTICULARreturnslistofconnectionheldbythatparticularDCSpod
402
+ enum:
403
+ - ALL
404
+ - PARTICULAR
405
+ type: string
406
+ typesManagementInfo:
407
+ title: typesManagementInfo
408
+ type: object
409
+ properties:
410
+ retry:
411
+ type: integer
412
+ description: Number of time to retry in case connection to device not established.
413
+ format: int32
414
+ vendor:
415
+ type: string
416
+ device_uuid:
417
+ type: string
418
+ ip:
419
+ type: string
420
+ retry_interval:
421
+ type: integer
422
+ description: time interval in seconds to retry.
423
+ format: int32
424
+ host_name:
425
+ type: string
426
+ auth_info:
427
+ allOf:
428
+ - $ref: '#/components/schemas/typesAuthInfo'
429
+ - description: AuthInfo username and password to connect to device.
430
+ port:
431
+ type: integer
432
+ format: int32
433
+ description: ManagementInfo contains the information necessary to dail out device connection.
434
+ typesStreamGetResponse:
435
+ title: typesStreamGetResponse
436
+ type: object
437
+ properties:
438
+ chunk_data:
439
+ type: string
440
+ error_code:
441
+ allOf:
442
+ - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
443
+ - description: >-
444
+ - NoError: returns default no error to the caller
445
+ - ConnectionError: ConnectionError if there is connection lost to device
446
+ - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
447
+ - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
448
+ - CommitFailed: CommitFailed returned when configuration to device fail
449
+ - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
450
+ - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
451
+ - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
452
+ error:
453
+ type: string
454
+ description: StreamGetResponse sends data in chunks.
455
+ GetCommandResponse:
456
+ title: GetCommandResponse
457
+ type: object
458
+ properties:
459
+ error_code:
460
+ allOf:
461
+ - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
462
+ - description: >-
463
+ - NoError: returns default no error to the caller
464
+ - ConnectionError: ConnectionError if there is connection lost to device
465
+ - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
466
+ - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
467
+ - CommitFailed: CommitFailed returned when configuration to device fail
468
+ - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
469
+ - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
470
+ - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
471
+ result:
472
+ type: array
473
+ items:
474
+ $ref: '#/components/schemas/CommandResultPair'
475
+ description: ''
476
+ error:
477
+ type: string
478
+ v1DisconnectDeviceRequest:
479
+ title: v1DisconnectDeviceRequest
480
+ type: object
481
+ properties:
482
+ device_uuid:
483
+ type: string
484
+ v1GetDeviceConnectionsResponse:
485
+ title: v1GetDeviceConnectionsResponse
486
+ type: object
487
+ properties:
488
+ pod_connections:
489
+ type: array
490
+ items:
491
+ $ref: '#/components/schemas/v1PodConnections'
492
+ description: returns list of device connections held by each DCS pod having UUIDs.
493
+ typesCloseStreamingCmdResponse:
494
+ title: typesCloseStreamingCmdResponse
495
+ type: object
496
+ properties:
497
+ status:
498
+ $ref: '#/components/schemas/StatusofRequest'
499
+ error:
500
+ type: string
501
+ description: 'close long running device command eg: closing syslog channel over netconf.'
502
+ v1PodConnections:
503
+ title: v1PodConnections
504
+ type: object
505
+ properties:
506
+ connection_data:
507
+ type: array
508
+ items:
509
+ $ref: '#/components/schemas/typesConnData'
510
+ description: ''
511
+ pod_ip:
512
+ type: string
513
+ dcsv1GetRequest:
514
+ title: dcsv1GetRequest
515
+ type: object
516
+ properties:
517
+ device_info:
518
+ allOf:
519
+ - $ref: '#/components/schemas/typesDeviceInfo'
520
+ - description: DeviceInfo is the object in which the device details for command are passed from clients to deviceplugins.
521
+ command:
522
+ type: array
523
+ items:
524
+ type: string
525
+ description: ''
526
+ timeout:
527
+ type: integer
528
+ format: int32
529
+ user_input_cmd:
530
+ type: array
531
+ items:
532
+ $ref: '#/components/schemas/typesUserInputCommand'
533
+ description: ''
534
+ openlongrunningdevicecommandovernetconfegsyslog:
535
+ title: openlongrunningdevicecommandovernetconfegsyslog
536
+ type: object
537
+ properties:
538
+ status:
539
+ $ref: '#/components/schemas/StatusofRequest'
540
+ error:
541
+ type: string
542
+ error_code:
543
+ allOf:
544
+ - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
545
+ - description: >-
546
+ - NoError: returns default no error to the caller
547
+ - ConnectionError: ConnectionError if there is connection lost to device
548
+ - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
549
+ - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
550
+ - CommitFailed: CommitFailed returned when configuration to device fail
551
+ - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
552
+ - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
553
+ - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
554
+ command_id:
555
+ type: string
556
+ typesEphemeralInfo:
557
+ title: typesEphemeralInfo
558
+ type: object
559
+ properties:
560
+ ephemeral_open_cmd:
561
+ type: string
562
+ description: >-
563
+ Junos devices allow user to open ephemeral database and push the configuration.
564
+
565
+ command to open ephemeral database.
566
+ ephemeral_close_cmd:
567
+ type: string
568
+ description: command to close ephemeral database after pushing configuration to device.
569
+ typesCommandControl:
570
+ title: typesCommandControl
571
+ type: object
572
+ properties:
573
+ chunks:
574
+ type: string
575
+ start:
576
+ type: boolean
577
+ description: start of the command.
578
+ end:
579
+ type: boolean
580
+ description: end of the command.
581
+ dcsv1SetRequest:
582
+ title: dcsv1SetRequest
583
+ type: object
584
+ properties:
585
+ commit_info:
586
+ $ref: '#/components/schemas/typesCommitInfo'
587
+ device_info:
588
+ allOf:
589
+ - $ref: '#/components/schemas/typesDeviceInfo'
590
+ - description: DeviceInfo is the object in which the device details for command are passed from clients to deviceplugins.
591
+ command:
592
+ type: array
593
+ items:
594
+ type: string
595
+ description: ''
596
+ ephemeral_info:
597
+ $ref: '#/components/schemas/typesEphemeralInfo'
598
+ timeout:
599
+ type: integer
600
+ format: int32
601
+ Connectdeviceresponse:
602
+ title: Connectdeviceresponse
603
+ type: object
604
+ properties:
605
+ status:
606
+ $ref: '#/components/schemas/StatusofRequest'
607
+ error:
608
+ type: string
609
+ runtimeStreamError:
610
+ title: runtimeStreamError
611
+ type: object
612
+ properties:
613
+ message:
614
+ type: string
615
+ grpcCode:
616
+ type: integer
617
+ format: int32
618
+ httpStatus:
619
+ type: string
620
+ details:
621
+ type: array
622
+ items:
623
+ $ref: '#/components/schemas/protobufAny'
624
+ description: ''
625
+ httpCode:
626
+ type: integer
627
+ format: int32
628
+ OperationalCommandResponse:
629
+ title: OperationalCommandResponse
630
+ type: object
631
+ properties:
632
+ error_code:
633
+ allOf:
634
+ - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
635
+ - description: >-
636
+ - NoError: returns default no error to the caller
637
+ - ConnectionError: ConnectionError if there is connection lost to device
638
+ - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
639
+ - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
640
+ - CommitFailed: CommitFailed returned when configuration to device fail
641
+ - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
642
+ - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
643
+ - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
644
+ result:
645
+ type: array
646
+ items:
647
+ $ref: '#/components/schemas/CommandResultPair'
648
+ description: ''
649
+ error:
650
+ type: string
651
+ protobufAny:
652
+ title: protobufAny
653
+ type: object
654
+ properties:
655
+ typeUrl:
656
+ type: string
657
+ description: >-
658
+ A URL/resource name that uniquely identifies the type of the serialized
659
+
660
+ protocol buffer message. This string must contain at least
661
+
662
+ one "/" character. The last segment of the URL's path must represent
663
+
664
+ the fully qualified name of the type (as in
665
+
666
+ `path/google.protobuf.Duration`). The name should be in a canonical form
667
+
668
+ (e.g., leading "." is not accepted).
669
+
670
+
671
+ In practice, teams usually precompile into the binary all types that they
672
+
673
+ expect it to use in the context of Any. However, for URLs which use the
674
+
675
+ scheme `http`, `https`, or no scheme, one can optionally set up a type
676
+
677
+ server that maps type URLs to message definitions as follows:
678
+
679
+
680
+ * If no scheme is provided, `https` is assumed.
681
+
682
+ * An HTTP GET on the URL must yield a [google.protobuf.Type][]
683
+ value in binary format, or produce an error.
684
+ * Applications are allowed to cache lookup results based on the
685
+ URL, or have them precompiled into a binary to avoid any
686
+ lookup. Therefore, binary compatibility needs to be preserved
687
+ on changes to types. (Use versioned type names to manage
688
+ breaking changes.)
689
+
690
+ Note: this functionality is not currently available in the official
691
+
692
+ protobuf release, and it is not used for type URLs beginning with
693
+
694
+ type.googleapis.com.
695
+
696
+
697
+ Schemes other than `http`, `https` (or the empty scheme) might be
698
+
699
+ used with implementation specific semantics.
700
+ value:
701
+ type: string
702
+ description: Must be a valid serialized protocol buffer of the above specified type.
703
+ description: >-
704
+ `Any` contains an arbitrary serialized protocol buffer message along with a
705
+
706
+ URL that describes the type of the serialized message.
707
+
708
+
709
+ Protobuf library provides support to pack/unpack Any values in the form
710
+
711
+ of utility functions or additional generated methods of the Any type.
712
+
713
+
714
+ Example 1: Pack and unpack a message in C++.
715
+
716
+ Foo foo = ...;
717
+ Any any;
718
+ any.PackFrom(foo);
719
+ ...
720
+ if (any.UnpackTo(&foo)) {
721
+ ...
722
+ }
723
+
724
+ Example 2: Pack and unpack a message in Java.
725
+
726
+ Foo foo = ...;
727
+ Any any = Any.pack(foo);
728
+ ...
729
+ if (any.is(Foo.class)) {
730
+ foo = any.unpack(Foo.class);
731
+ }
732
+
733
+ Example 3: Pack and unpack a message in Python.
734
+
735
+ foo = Foo(...)
736
+ any = Any()
737
+ any.Pack(foo)
738
+ ...
739
+ if any.Is(Foo.DESCRIPTOR):
740
+ any.Unpack(foo)
741
+ ...
742
+
743
+ Example 4: Pack and unpack a message in Go
744
+
745
+ foo := &pb.Foo{...}
746
+ any, err := ptypes.MarshalAny(foo)
747
+ ...
748
+ foo := &pb.Foo{}
749
+ if err := ptypes.UnmarshalAny(any, foo); err != nil {
750
+ ...
751
+ }
752
+
753
+ The pack methods provided by protobuf library will by default use
754
+
755
+ 'type.googleapis.com/full.type.name' as the type URL and the unpack
756
+
757
+ methods only use the fully qualified type name after the last '/'
758
+
759
+ in the type URL, for example "foo.bar.com/x/y.z" will yield type
760
+
761
+ name "y.z".
762
+
763
+
764
+
765
+ JSON
766
+
767
+ ====
768
+
769
+ The JSON representation of an `Any` value uses the regular
770
+
771
+ representation of the deserialized, embedded message, with an
772
+
773
+ additional field `@type` which contains the type URL. Example:
774
+
775
+ package google.profile;
776
+ message Person {
777
+ string first_name = 1;
778
+ string last_name = 2;
779
+ }
780
+
781
+ {
782
+ "@type": "type.googleapis.com/google.profile.Person",
783
+ "firstName": <string>,
784
+ "lastName": <string>
785
+ }
786
+
787
+ If the embedded message type is well-known and has a custom JSON
788
+
789
+ representation, that representation will be embedded adding a field
790
+
791
+ `value` which holds the custom JSON in addition to the `@type`
792
+
793
+ field. Example (for message [google.protobuf.Duration][]):
794
+
795
+ {
796
+ "@type": "type.googleapis.com/google.protobuf.Duration",
797
+ "value": "1.212s"
798
+ }
799
+ typesConnectionStatus:
800
+ title: typesConnectionStatus
801
+ enum:
802
+ - UNKNOWN_CONNECTION_STATUS
803
+ - UP
804
+ - DOWN
805
+ type: string
806
+ description: >-
807
+ ConnectionStatus use to publish device connection status UP/DOWN.
808
+
809
+ - UP: device connection status UP
810
+ - DOWN: device connection status down
811
+ StatusofRequest:
812
+ title: StatusofRequest
813
+ enum:
814
+ - UNKNOWN_STATUS
815
+ - SUCCESS
816
+ - FAILURE
817
+ type: string
818
+ typesStreamSetResponse:
819
+ title: typesStreamSetResponse
820
+ type: object
821
+ properties:
822
+ status:
823
+ $ref: '#/components/schemas/StatusofRequest'
824
+ error_code:
825
+ allOf:
826
+ - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
827
+ - description: >-
828
+ - NoError: returns default no error to the caller
829
+ - ConnectionError: ConnectionError if there is connection lost to device
830
+ - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
831
+ - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
832
+ - CommitFailed: CommitFailed returned when configuration to device fail
833
+ - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
834
+ - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
835
+ - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
836
+ error:
837
+ type: string
838
+ description: StreamSetResponse contains the result of executing huge configuration on device.
839
+ typesSubSystem:
840
+ title: typesSubSystem
841
+ enum:
842
+ - UNKNOWN_SUBSYSTEM
843
+ - Netconf
844
+ - Cli
845
+ type: string
846
+ description: >-
847
+ SubSystem to use to communicate with device, applicable for SSH protocol.
848
+
849
+ - Netconf: Netconf subsystem
850
+ - Cli: Cli subsystem
851
+ typesAuthInfo:
852
+ title: typesAuthInfo
853
+ type: object
854
+ properties:
855
+ password:
856
+ type: string
857
+ user:
858
+ type: string
859
+ description: user name to ssh to device.
860
+ ssh_key:
861
+ type: string
862
+ description: ssh public key of the device.
863
+ description: AuthInfo username and password to connect to device.
864
+ v1Callback:
865
+ title: v1Callback
866
+ type: object
867
+ properties:
868
+ endpoint:
869
+ type: string
870
+ uri:
871
+ type: string
872
+ typesSetResponse:
873
+ title: typesSetResponse
874
+ type: object
875
+ properties:
876
+ status:
877
+ $ref: '#/components/schemas/StatusofRequest'
878
+ index:
879
+ type: integer
880
+ format: int32
881
+ error_code:
882
+ allOf:
883
+ - $ref: '#/components/schemas/ErrorCoderepresentstypeoftheerrorgotwhileexecutingcommand.ErrorCodepossiblevalues'
884
+ - description: >-
885
+ - NoError: returns default no error to the caller
886
+ - ConnectionError: ConnectionError if there is connection lost to device
887
+ - SetCommandFailed: SetCommandFailed returned when the first from list of edit command fails
888
+ - RequestTimedOut: RequestTimedOut returned execution of get, set or op rpc times out
889
+ - CommitFailed: CommitFailed returned when configuration to device fail
890
+ - ConfigLockFailed: ConfigLockFailed returned when lock to device fail
891
+ - EphemeralOpenFailed: EphemeralOpenFailed returns when opening ephemeral database fails.
892
+ - EphemeralCloseFailed: EphemeralCloseFailed return when closing ephemeral database fails.
893
+ error:
894
+ type: string
895
+ description: SetResponse contains the result of executing configuration commands on device.
896
+ v1ConnectDeviceRequest:
897
+ title: v1ConnectDeviceRequest
898
+ type: object
899
+ properties:
900
+ edge_uuid:
901
+ type: string
902
+ least_used:
903
+ type: boolean
904
+ description: >-
905
+ flag used to identify least used DCS pod.
906
+
907
+ If it sets true which means already least used pod computation is done
908
+
909
+ and invoking particular pod instead of dcs service.
910
+ management_info:
911
+ allOf:
912
+ - $ref: '#/components/schemas/typesManagementInfo'
913
+ - description: ManagementInfo contains the information necessary to dail out device connection.
914
+ typesMember:
915
+ title: typesMember
916
+ type: object
917
+ properties:
918
+ loginConnectionState:
919
+ allOf:
920
+ - $ref: '#/components/schemas/typesConnectionStatus'
921
+ - description: >-
922
+ ConnectionStatus use to publish device connection status UP/DOWN.
923
+
924
+ - UP: device connection status UP
925
+ - DOWN: device connection status down
926
+ serialNumber:
927
+ type: string
928
+ role:
929
+ type: string
930
+ id:
931
+ type: string
932
+ Name:
933
+ type: string
934
+ Disconnectdeviceresponse:
935
+ title: Disconnectdeviceresponse
936
+ type: object
937
+ properties:
938
+ status:
939
+ $ref: '#/components/schemas/StatusofRequest'
940
+ error:
941
+ type: string
942
+ tags:
943
+ - name: ConnectivityService
944
+ description: ''