@itentialopensource/adapter-algosec_fireflow 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 (41) hide show
  1. package/CALLS.md +78 -0
  2. package/CHANGELOG.md +8 -1
  3. package/CONTRIBUTING.md +1 -160
  4. package/ENHANCE.md +2 -2
  5. package/README.md +31 -22
  6. package/adapter.js +159 -330
  7. package/adapterBase.js +538 -873
  8. package/changelogs/changelog.md +9 -0
  9. package/metadata.json +49 -0
  10. package/package.json +23 -26
  11. package/pronghorn.json +474 -142
  12. package/propertiesSchema.json +453 -40
  13. package/refs?service=git-upload-pack +0 -0
  14. package/report/adapter-openapi.json +1684 -0
  15. package/report/adapter-openapi.yaml +1142 -0
  16. package/report/adapterInfo.json +10 -0
  17. package/report/updateReport1691508682791.json +120 -0
  18. package/report/updateReport1692203134234.json +120 -0
  19. package/report/updateReport1694467838015.json +120 -0
  20. package/report/updateReport1698422447679.json +120 -0
  21. package/sampleProperties.json +63 -2
  22. package/test/integration/adapterTestBasicGet.js +1 -1
  23. package/test/integration/adapterTestConnectivity.js +91 -42
  24. package/test/integration/adapterTestIntegration.js +130 -2
  25. package/test/unit/adapterBaseTestUnit.js +388 -313
  26. package/test/unit/adapterTestUnit.js +306 -109
  27. package/utils/adapterInfo.js +1 -1
  28. package/utils/addAuth.js +1 -1
  29. package/utils/artifactize.js +1 -1
  30. package/utils/checkMigrate.js +1 -1
  31. package/utils/entitiesToDB.js +1 -0
  32. package/utils/findPath.js +1 -1
  33. package/utils/methodDocumentor.js +71 -23
  34. package/utils/modify.js +13 -15
  35. package/utils/packModificationScript.js +1 -1
  36. package/utils/taskMover.js +309 -0
  37. package/utils/tbScript.js +3 -10
  38. package/utils/tbUtils.js +2 -3
  39. package/utils/testRunner.js +1 -1
  40. package/utils/troubleshootingAdapter.js +1 -3
  41. package/workflows/README.md +0 -3
@@ -0,0 +1,1684 @@
1
+ {
2
+ "openapi": "3.0.0",
3
+ "info": {
4
+ "title": "AlgoSec FireFlow REST API\n",
5
+ "description": "Use the AlgoSec FireFlow REST APIs to perform remote FireFlow operations, such as creating various types of change requests or performing a saved search.\n\nFor AFF SOAP APIs, see the AFF SOAP API Reference in the ASMS Tech Docs. https://www.algosec.com/r/a32.20/1c07bca0\n\nSwagger is accessed from inside ASMS. Click Username > API Documentation.\n\nNote: You must be logged in to ASMS to execute these APIs. \n",
6
+ "contact": {},
7
+ "version": "A32.20"
8
+ },
9
+ "servers": [
10
+ {
11
+ "url": "https://{defaultHost}",
12
+ "variables": {
13
+ "defaultHost": {
14
+ "default": "www.example.com/FireFlow/api"
15
+ }
16
+ }
17
+ }
18
+ ],
19
+ "paths": {
20
+ "/change-requests/traffic/{changeRequestId}/work-order/implement": {
21
+ "post": {
22
+ "tags": [
23
+ "active-change-external-controller"
24
+ ],
25
+ "summary": "calculateActiveChangeUsingPOST",
26
+ "description": "Implement work-order recommendations of the given change request, using ActiveChange",
27
+ "operationId": "calculateActiveChangeUsingPOST",
28
+ "parameters": [
29
+ {
30
+ "name": "changeRequestId",
31
+ "in": "path",
32
+ "description": "changeRequestId",
33
+ "required": true,
34
+ "style": "simple",
35
+ "schema": {
36
+ "type": "integer",
37
+ "format": "int64"
38
+ }
39
+ },
40
+ {
41
+ "name": "Content-Type",
42
+ "in": "header",
43
+ "description": "",
44
+ "required": true,
45
+ "style": "simple",
46
+ "schema": {
47
+ "enum": [
48
+ "application/json"
49
+ ],
50
+ "type": "string"
51
+ }
52
+ }
53
+ ],
54
+ "responses": {
55
+ "200": {
56
+ "description": "Active change was triggered",
57
+ "headers": {},
58
+ "content": {
59
+ "application/json": {
60
+ "schema": {
61
+ "$ref": "#/components/schemas/Response"
62
+ }
63
+ }
64
+ }
65
+ },
66
+ "400": {
67
+ "description": "Input validation failure",
68
+ "headers": {},
69
+ "content": {
70
+ "application/json": {
71
+ "schema": {
72
+ "$ref": "#/components/schemas/Response"
73
+ }
74
+ }
75
+ }
76
+ },
77
+ "403": {
78
+ "description": "Authentication failure",
79
+ "headers": {},
80
+ "content": {
81
+ "application/json": {
82
+ "schema": {
83
+ "$ref": "#/components/schemas/Response"
84
+ }
85
+ }
86
+ }
87
+ }
88
+ },
89
+ "deprecated": false
90
+ }
91
+ },
92
+ "/change-requests/traffic/{changeRequestId}/work-order/implementation/result": {
93
+ "get": {
94
+ "tags": [
95
+ "active-change-external-controller"
96
+ ],
97
+ "summary": "getActiveChangeStatusUsingGET",
98
+ "description": "Get ActiveChange results of the given change request",
99
+ "operationId": "getActiveChangeStatusUsingGET",
100
+ "parameters": [
101
+ {
102
+ "name": "changeRequestId",
103
+ "in": "path",
104
+ "description": "changeRequestId",
105
+ "required": true,
106
+ "style": "simple",
107
+ "schema": {
108
+ "type": "integer",
109
+ "format": "int64"
110
+ }
111
+ }
112
+ ],
113
+ "responses": {
114
+ "200": {
115
+ "description": "Active change returns status",
116
+ "headers": {},
117
+ "content": {
118
+ "application/json": {
119
+ "schema": {
120
+ "$ref": "#/components/schemas/Response"
121
+ }
122
+ }
123
+ }
124
+ },
125
+ "400": {
126
+ "description": "Input validation failure",
127
+ "headers": {},
128
+ "content": {
129
+ "application/json": {
130
+ "schema": {
131
+ "$ref": "#/components/schemas/Response"
132
+ }
133
+ }
134
+ }
135
+ },
136
+ "403": {
137
+ "description": "Authentication failure",
138
+ "headers": {},
139
+ "content": {
140
+ "application/json": {
141
+ "schema": {
142
+ "$ref": "#/components/schemas/Response"
143
+ }
144
+ }
145
+ }
146
+ }
147
+ },
148
+ "deprecated": false
149
+ }
150
+ },
151
+ "/authentication/authenticate": {
152
+ "post": {
153
+ "tags": [
154
+ "authentication-external-controller"
155
+ ],
156
+ "summary": "authenticateUsingPOST",
157
+ "description": "User authentication operation",
158
+ "operationId": "authenticateUsingPOST",
159
+ "parameters": [],
160
+ "requestBody": {
161
+ "description": "AuthenticationData, passed in JSON format",
162
+ "content": {
163
+ "application/json": {
164
+ "schema": {
165
+ "allOf": [
166
+ {
167
+ "$ref": "#/components/schemas/AuthenticationData"
168
+ },
169
+ {
170
+ "description": "AuthenticationData, passed in JSON format"
171
+ }
172
+ ]
173
+ }
174
+ }
175
+ },
176
+ "required": true
177
+ },
178
+ "responses": {
179
+ "200": {
180
+ "description": "Authentication has been successful",
181
+ "headers": {},
182
+ "content": {
183
+ "application/json;charset=UTF-8": {
184
+ "schema": {
185
+ "$ref": "#/components/schemas/Response"
186
+ }
187
+ }
188
+ }
189
+ },
190
+ "403": {
191
+ "description": "Authentication has been failed",
192
+ "headers": {},
193
+ "content": {
194
+ "application/json;charset=UTF-8": {
195
+ "schema": {
196
+ "$ref": "#/components/schemas/Response"
197
+ }
198
+ }
199
+ }
200
+ }
201
+ },
202
+ "deprecated": false
203
+ }
204
+ },
205
+ "/request/object": {
206
+ "post": {
207
+ "tags": [
208
+ "object-change-request-external-controller"
209
+ ],
210
+ "summary": "createObjectChangeRequestUsingPOST",
211
+ "description": "Create Object Change request",
212
+ "operationId": "createObjectChangeRequestUsingPOST",
213
+ "parameters": [],
214
+ "requestBody": {
215
+ "description": "ObjectChangeRequestDetails, passed in JSON format",
216
+ "content": {
217
+ "application/json": {
218
+ "schema": {
219
+ "allOf": [
220
+ {
221
+ "$ref": "#/components/schemas/ObjectChangeRequestDetails"
222
+ },
223
+ {
224
+ "description": "ObjectChangeRequestDetails, passed in JSON format"
225
+ }
226
+ ]
227
+ }
228
+ }
229
+ },
230
+ "required": true
231
+ },
232
+ "responses": {
233
+ "200": {
234
+ "description": "OK",
235
+ "headers": {},
236
+ "content": {
237
+ "application/json;charset=UTF-8": {
238
+ "schema": {
239
+ "$ref": "#/components/schemas/Response"
240
+ }
241
+ }
242
+ }
243
+ }
244
+ },
245
+ "deprecated": false
246
+ }
247
+ },
248
+ "/templates": {
249
+ "get": {
250
+ "tags": [
251
+ "request-template-external-controller"
252
+ ],
253
+ "summary": "getTemplatesUsingGET",
254
+ "description": "List all permitted request templates",
255
+ "operationId": "getTemplatesUsingGET",
256
+ "parameters": [],
257
+ "responses": {
258
+ "200": {
259
+ "description": "OK",
260
+ "headers": {},
261
+ "content": {
262
+ "*/*": {
263
+ "schema": {}
264
+ }
265
+ }
266
+ }
267
+ },
268
+ "deprecated": false
269
+ }
270
+ },
271
+ "/change-requests/rule-removal": {
272
+ "post": {
273
+ "tags": [
274
+ "rule-removal-change-request-external-controller"
275
+ ],
276
+ "summary": "createRuleRemovalRequestUsingPOST",
277
+ "description": "Create Rule Removal Change Request",
278
+ "operationId": "createRuleRemovalRequestUsingPOST",
279
+ "parameters": [],
280
+ "requestBody": {
281
+ "description": "RuleRemovalChangeRequest, passed in JSON format\n\nRequired fields: You must include a devices field, with a single device listed.\nMultiple devices are not supported.",
282
+ "content": {
283
+ "application/json": {
284
+ "schema": {
285
+ "allOf": [
286
+ {
287
+ "$ref": "#/components/schemas/RuleRemovalChangeRequest"
288
+ },
289
+ {
290
+ "description": "RuleRemovalChangeRequest, passed in JSON format\n\nRequired fields: You must include a devices field, with a single device listed.\nMultiple devices are not supported."
291
+ }
292
+ ]
293
+ }
294
+ }
295
+ },
296
+ "required": true
297
+ },
298
+ "responses": {
299
+ "200": {
300
+ "description": "Rule Removal Change Request created",
301
+ "headers": {},
302
+ "content": {
303
+ "application/json;charset=UTF-8": {
304
+ "schema": {
305
+ "$ref": "#/components/schemas/Response"
306
+ }
307
+ }
308
+ }
309
+ },
310
+ "400": {
311
+ "description": "Input validation failure",
312
+ "headers": {},
313
+ "content": {
314
+ "application/json;charset=UTF-8": {
315
+ "schema": {
316
+ "$ref": "#/components/schemas/Response"
317
+ }
318
+ }
319
+ }
320
+ },
321
+ "403": {
322
+ "description": "Authentication failure",
323
+ "headers": {},
324
+ "content": {
325
+ "application/json;charset=UTF-8": {
326
+ "schema": {
327
+ "$ref": "#/components/schemas/Response"
328
+ }
329
+ }
330
+ }
331
+ }
332
+ },
333
+ "deprecated": false
334
+ }
335
+ },
336
+ "/savedsearch": {
337
+ "get": {
338
+ "tags": [
339
+ "saved-search-controller"
340
+ ],
341
+ "summary": "getSavedSearchByNameProxyUsingGET",
342
+ "description": "Find Saved Search results by name",
343
+ "operationId": "getSavedSearchByNameProxyUsingGET",
344
+ "parameters": [
345
+ {
346
+ "name": "savedSearchName",
347
+ "in": "query",
348
+ "description": "Name of Saved Search",
349
+ "required": true,
350
+ "style": "form",
351
+ "explode": true,
352
+ "schema": {
353
+ "type": "string"
354
+ }
355
+ }
356
+ ],
357
+ "responses": {
358
+ "200": {
359
+ "description": "OK",
360
+ "headers": {},
361
+ "content": {
362
+ "application/json;charset=UTF-8": {
363
+ "schema": {
364
+ "$ref": "#/components/schemas/Response"
365
+ }
366
+ }
367
+ }
368
+ }
369
+ },
370
+ "deprecated": false
371
+ }
372
+ },
373
+ "/session": {
374
+ "get": {
375
+ "tags": [
376
+ "session-external-controller"
377
+ ],
378
+ "summary": "verifySessionStatusUsingGET",
379
+ "description": "Checks if a session is alive by entering a session cookie in the request header. This endpoint cannot be tested from the swagger client. Use other REST clients.",
380
+ "operationId": "verifySessionStatusUsingGET",
381
+ "parameters": [],
382
+ "responses": {
383
+ "200": {
384
+ "description": "OK",
385
+ "headers": {},
386
+ "content": {
387
+ "application/json": {
388
+ "schema": {
389
+ "$ref": "#/components/schemas/SessionRespose"
390
+ }
391
+ }
392
+ }
393
+ }
394
+ },
395
+ "deprecated": false
396
+ }
397
+ },
398
+ "/change-requests/traffic": {
399
+ "post": {
400
+ "tags": [
401
+ "traffic-change-request-external-controller"
402
+ ],
403
+ "summary": "createTrafficChangeRequestUsingPOST",
404
+ "description": "Create Traffic Change request",
405
+ "operationId": "createTrafficChangeRequestUsingPOST",
406
+ "parameters": [],
407
+ "requestBody": {
408
+ "description": "TrafficChangeRequest, passed in JSON format",
409
+ "content": {
410
+ "application/json": {
411
+ "schema": {
412
+ "allOf": [
413
+ {
414
+ "$ref": "#/components/schemas/TrafficChangeRequest"
415
+ },
416
+ {
417
+ "description": "TrafficChangeRequest, passed in JSON format"
418
+ }
419
+ ]
420
+ }
421
+ }
422
+ },
423
+ "required": true
424
+ },
425
+ "responses": {
426
+ "200": {
427
+ "description": "OK",
428
+ "headers": {},
429
+ "content": {
430
+ "*/*": {
431
+ "schema": {}
432
+ }
433
+ }
434
+ }
435
+ },
436
+ "deprecated": false
437
+ }
438
+ },
439
+ "/change-requests/traffic/{changeRequestId}": {
440
+ "get": {
441
+ "tags": [
442
+ "traffic-change-request-external-controller"
443
+ ],
444
+ "summary": "getTicketUsingGET",
445
+ "description": "Get Ticket details by change request id number",
446
+ "operationId": "getTicketUsingGET",
447
+ "parameters": [
448
+ {
449
+ "name": "changeRequestId",
450
+ "in": "path",
451
+ "description": "Id of the Change Request",
452
+ "required": true,
453
+ "style": "simple",
454
+ "schema": {
455
+ "type": "integer",
456
+ "format": "int64"
457
+ }
458
+ }
459
+ ],
460
+ "responses": {
461
+ "200": {
462
+ "description": "OK",
463
+ "headers": {},
464
+ "content": {
465
+ "*/*": {
466
+ "schema": {}
467
+ }
468
+ }
469
+ }
470
+ },
471
+ "deprecated": false
472
+ }
473
+ },
474
+ "/change-requests/traffic/{changeRequestId}/fields": {
475
+ "put": {
476
+ "tags": [
477
+ "traffic-change-request-external-controller"
478
+ ],
479
+ "summary": "updateTrafficChangeRequestCustomFieldsUsingPUT",
480
+ "description": "Update Traffic Change request's custom fields",
481
+ "operationId": "updateTrafficChangeRequestCustomFieldsUsingPUT",
482
+ "parameters": [
483
+ {
484
+ "name": "changeRequestId",
485
+ "in": "path",
486
+ "description": "Id of the Change request",
487
+ "required": true,
488
+ "style": "simple",
489
+ "schema": {
490
+ "type": "integer",
491
+ "format": "int64"
492
+ }
493
+ }
494
+ ],
495
+ "requestBody": {
496
+ "description": "List of fields, passed in JSON format",
497
+ "content": {
498
+ "application/json": {
499
+ "schema": {
500
+ "type": "array",
501
+ "items": {
502
+ "$ref": "#/components/schemas/Fields"
503
+ },
504
+ "description": "List of fields, passed in JSON format"
505
+ }
506
+ }
507
+ },
508
+ "required": true
509
+ },
510
+ "responses": {
511
+ "200": {
512
+ "description": "OK",
513
+ "headers": {},
514
+ "content": {
515
+ "*/*": {
516
+ "schema": {}
517
+ }
518
+ }
519
+ }
520
+ },
521
+ "deprecated": false
522
+ }
523
+ },
524
+ "/change-request/traffic/{changeRequestId}/work-order/calculate": {
525
+ "post": {
526
+ "tags": [
527
+ "work-order-external-controller"
528
+ ],
529
+ "summary": "calculateWorkOrderUsingPOST",
530
+ "description": "Trigger work order calculation for change request",
531
+ "operationId": "calculateWorkOrderUsingPOST",
532
+ "parameters": [
533
+ {
534
+ "name": "changeRequestId",
535
+ "in": "path",
536
+ "description": "changeRequestId",
537
+ "required": true,
538
+ "style": "simple",
539
+ "schema": {
540
+ "type": "integer",
541
+ "format": "int64"
542
+ }
543
+ },
544
+ {
545
+ "name": "Content-Type",
546
+ "in": "header",
547
+ "description": "",
548
+ "required": true,
549
+ "style": "simple",
550
+ "schema": {
551
+ "enum": [
552
+ "application/json"
553
+ ],
554
+ "type": "string"
555
+ }
556
+ }
557
+ ],
558
+ "responses": {
559
+ "200": {
560
+ "description": "Work order calculation was triggered",
561
+ "headers": {},
562
+ "content": {
563
+ "application/json": {
564
+ "schema": {
565
+ "$ref": "#/components/schemas/Response"
566
+ }
567
+ }
568
+ }
569
+ },
570
+ "400": {
571
+ "description": "Input validation failure",
572
+ "headers": {},
573
+ "content": {
574
+ "application/json": {
575
+ "schema": {
576
+ "$ref": "#/components/schemas/Response"
577
+ }
578
+ }
579
+ }
580
+ },
581
+ "403": {
582
+ "description": "Authentication failure",
583
+ "headers": {},
584
+ "content": {
585
+ "application/json": {
586
+ "schema": {
587
+ "$ref": "#/components/schemas/Response"
588
+ }
589
+ }
590
+ }
591
+ }
592
+ },
593
+ "deprecated": false
594
+ }
595
+ },
596
+ "/change-request/traffic/{changeRequestId}/work-order/calculation/status": {
597
+ "get": {
598
+ "tags": [
599
+ "work-order-external-controller"
600
+ ],
601
+ "summary": "getWorkOrderCalculationStatusUsingGET",
602
+ "description": "Get work order calculation status for change request",
603
+ "operationId": "getWorkOrderCalculationStatusUsingGET",
604
+ "parameters": [
605
+ {
606
+ "name": "changeRequestId",
607
+ "in": "path",
608
+ "description": "changeRequestId",
609
+ "required": true,
610
+ "style": "simple",
611
+ "schema": {
612
+ "type": "integer",
613
+ "format": "int64"
614
+ }
615
+ }
616
+ ],
617
+ "responses": {
618
+ "200": {
619
+ "description": "Work order calculation returns status",
620
+ "headers": {},
621
+ "content": {
622
+ "application/json": {
623
+ "schema": {
624
+ "$ref": "#/components/schemas/Response"
625
+ }
626
+ }
627
+ }
628
+ },
629
+ "400": {
630
+ "description": "Input validation failure",
631
+ "headers": {},
632
+ "content": {
633
+ "application/json": {
634
+ "schema": {
635
+ "$ref": "#/components/schemas/Response"
636
+ }
637
+ }
638
+ }
639
+ },
640
+ "403": {
641
+ "description": "Authentication failure",
642
+ "headers": {},
643
+ "content": {
644
+ "application/json": {
645
+ "schema": {
646
+ "$ref": "#/components/schemas/Response"
647
+ }
648
+ }
649
+ }
650
+ }
651
+ },
652
+ "deprecated": false
653
+ }
654
+ }
655
+ },
656
+ "components": {
657
+ "schemas": {
658
+ "Action": {
659
+ "title": "Action",
660
+ "required": [
661
+ "action"
662
+ ],
663
+ "type": "object",
664
+ "properties": {
665
+ "devices": {
666
+ "type": "array",
667
+ "items": {
668
+ "type": "string"
669
+ },
670
+ "description": ""
671
+ },
672
+ "lineOrder": {
673
+ "type": "integer",
674
+ "format": "int32"
675
+ },
676
+ "name": {
677
+ "type": "string"
678
+ },
679
+ "objectContainers": {
680
+ "type": "array",
681
+ "items": {
682
+ "type": "integer",
683
+ "format": "int64"
684
+ },
685
+ "description": ""
686
+ },
687
+ "type": {
688
+ "$ref": "#/components/schemas/Type"
689
+ },
690
+ "valuableServiceObject": {
691
+ "type": "boolean"
692
+ },
693
+ "action": {
694
+ "type": "string"
695
+ }
696
+ },
697
+ "discriminator": {
698
+ "propertyName": "action",
699
+ "mapping": {
700
+ "AddObjectsToGroup": "AddObjectsToGroup",
701
+ "Create": "Create",
702
+ "Delete": "Delete",
703
+ "RemoveObjectsFromGroup": "RemoveObjectsFromGroup",
704
+ "ReplaceContent": "ReplaceContent"
705
+ }
706
+ }
707
+ },
708
+ "AddObjectsToGroup": {
709
+ "title": "AddObjectsToGroup",
710
+ "allOf": [
711
+ {
712
+ "$ref": "#/components/schemas/Action"
713
+ },
714
+ {
715
+ "type": "object",
716
+ "properties": {
717
+ "devices": {
718
+ "type": "array",
719
+ "items": {
720
+ "type": "string"
721
+ },
722
+ "description": ""
723
+ },
724
+ "lineOrder": {
725
+ "type": "integer",
726
+ "format": "int32"
727
+ },
728
+ "name": {
729
+ "type": "string"
730
+ },
731
+ "objectContainers": {
732
+ "type": "array",
733
+ "items": {
734
+ "type": "integer",
735
+ "format": "int64"
736
+ },
737
+ "description": ""
738
+ },
739
+ "type": {
740
+ "$ref": "#/components/schemas/Type"
741
+ },
742
+ "valuableServiceObject": {
743
+ "type": "boolean"
744
+ },
745
+ "values": {
746
+ "type": "array",
747
+ "items": {
748
+ "type": "string"
749
+ },
750
+ "description": ""
751
+ }
752
+ }
753
+ }
754
+ ]
755
+ },
756
+ "AddressTrafficFieldDetails": {
757
+ "title": "AddressTrafficFieldDetails",
758
+ "type": "object",
759
+ "properties": {
760
+ "items": {
761
+ "type": "array",
762
+ "items": {
763
+ "$ref": "#/components/schemas/AddressTrafficItemDetails"
764
+ },
765
+ "description": ""
766
+ }
767
+ }
768
+ },
769
+ "AddressTrafficItemDetails": {
770
+ "title": "AddressTrafficItemDetails",
771
+ "type": "object",
772
+ "properties": {
773
+ "address": {
774
+ "type": "string",
775
+ "example": "1.1.1.1"
776
+ },
777
+ "fields": {
778
+ "type": "array",
779
+ "items": {
780
+ "$ref": "#/components/schemas/Fields"
781
+ },
782
+ "description": ""
783
+ }
784
+ }
785
+ },
786
+ "AuthenticationData": {
787
+ "title": "AuthenticationData",
788
+ "required": [
789
+ "username",
790
+ "password"
791
+ ],
792
+ "type": "object",
793
+ "properties": {
794
+ "username": {
795
+ "type": "string",
796
+ "description": "User name",
797
+ "example": "admin"
798
+ },
799
+ "password": {
800
+ "type": "string",
801
+ "description": "User password",
802
+ "example": "pass"
803
+ },
804
+ "domain": {
805
+ "type": "string",
806
+ "description": "Domain id",
807
+ "example": "0"
808
+ }
809
+ }
810
+ },
811
+ "Create": {
812
+ "title": "Create",
813
+ "allOf": [
814
+ {
815
+ "$ref": "#/components/schemas/Action"
816
+ },
817
+ {
818
+ "type": "object",
819
+ "properties": {
820
+ "devices": {
821
+ "type": "array",
822
+ "items": {
823
+ "type": "string"
824
+ },
825
+ "description": ""
826
+ },
827
+ "group": {
828
+ "type": "boolean"
829
+ },
830
+ "isGroup": {
831
+ "type": "boolean"
832
+ },
833
+ "lineOrder": {
834
+ "type": "integer",
835
+ "format": "int32"
836
+ },
837
+ "name": {
838
+ "type": "string"
839
+ },
840
+ "objectContainers": {
841
+ "type": "array",
842
+ "items": {
843
+ "type": "integer",
844
+ "format": "int64"
845
+ },
846
+ "description": ""
847
+ },
848
+ "type": {
849
+ "$ref": "#/components/schemas/Type"
850
+ },
851
+ "valuableServiceObject": {
852
+ "type": "boolean"
853
+ },
854
+ "values": {
855
+ "type": "array",
856
+ "items": {
857
+ "type": "string"
858
+ },
859
+ "description": ""
860
+ }
861
+ }
862
+ }
863
+ ]
864
+ },
865
+ "Delete": {
866
+ "title": "Delete",
867
+ "allOf": [
868
+ {
869
+ "$ref": "#/components/schemas/Action"
870
+ },
871
+ {
872
+ "type": "object",
873
+ "properties": {
874
+ "devices": {
875
+ "type": "array",
876
+ "items": {
877
+ "type": "string"
878
+ },
879
+ "description": ""
880
+ },
881
+ "lineOrder": {
882
+ "type": "integer",
883
+ "format": "int32"
884
+ },
885
+ "name": {
886
+ "type": "string"
887
+ },
888
+ "objectContainers": {
889
+ "type": "array",
890
+ "items": {
891
+ "type": "integer",
892
+ "format": "int64"
893
+ },
894
+ "description": ""
895
+ },
896
+ "type": {
897
+ "$ref": "#/components/schemas/Type"
898
+ },
899
+ "valuableServiceObject": {
900
+ "type": "boolean"
901
+ }
902
+ }
903
+ }
904
+ ]
905
+ },
906
+ "Field": {
907
+ "title": "Field",
908
+ "type": "object",
909
+ "properties": {
910
+ "name": {
911
+ "type": "string",
912
+ "example": "field name"
913
+ },
914
+ "values": {
915
+ "type": "array",
916
+ "items": {
917
+ "type": "string"
918
+ },
919
+ "description": "",
920
+ "example": [
921
+ "field value 1",
922
+ "field value 2"
923
+ ]
924
+ }
925
+ }
926
+ },
927
+ "Fields": {
928
+ "title": "Fields",
929
+ "type": "object",
930
+ "properties": {
931
+ "name": {
932
+ "type": "string",
933
+ "example": "custom field name"
934
+ },
935
+ "values": {
936
+ "type": "array",
937
+ "items": {
938
+ "type": "string"
939
+ },
940
+ "description": "",
941
+ "example": [
942
+ "custom field value 1",
943
+ "custom field value 2"
944
+ ]
945
+ }
946
+ }
947
+ },
948
+ "MessageDetails": {
949
+ "title": "MessageDetails",
950
+ "type": "object",
951
+ "properties": {
952
+ "code": {
953
+ "type": "string"
954
+ },
955
+ "message": {
956
+ "type": "string"
957
+ }
958
+ }
959
+ },
960
+ "NameTrafficFieldDetails": {
961
+ "title": "NameTrafficFieldDetails",
962
+ "type": "object",
963
+ "properties": {
964
+ "items": {
965
+ "type": "array",
966
+ "items": {
967
+ "$ref": "#/components/schemas/NameTrafficItemDetails"
968
+ },
969
+ "description": ""
970
+ }
971
+ }
972
+ },
973
+ "NameTrafficItemDetails": {
974
+ "title": "NameTrafficItemDetails",
975
+ "type": "object",
976
+ "properties": {
977
+ "name": {
978
+ "type": "string",
979
+ "example": "name to match"
980
+ },
981
+ "fields": {
982
+ "type": "array",
983
+ "items": {
984
+ "$ref": "#/components/schemas/Fields"
985
+ },
986
+ "description": ""
987
+ }
988
+ }
989
+ },
990
+ "Nat": {
991
+ "title": "Nat",
992
+ "type": "object",
993
+ "properties": {
994
+ "source": {
995
+ "type": "array",
996
+ "items": {
997
+ "type": "string"
998
+ },
999
+ "description": ""
1000
+ },
1001
+ "destination": {
1002
+ "type": "array",
1003
+ "items": {
1004
+ "type": "string"
1005
+ },
1006
+ "description": ""
1007
+ },
1008
+ "port": {
1009
+ "type": "array",
1010
+ "items": {
1011
+ "type": "string"
1012
+ },
1013
+ "description": ""
1014
+ },
1015
+ "type": {
1016
+ "$ref": "#/components/schemas/Type4"
1017
+ }
1018
+ }
1019
+ },
1020
+ "NatDetails": {
1021
+ "title": "NatDetails",
1022
+ "type": "object",
1023
+ "properties": {
1024
+ "source": {
1025
+ "type": "array",
1026
+ "items": {
1027
+ "type": "string"
1028
+ },
1029
+ "description": ""
1030
+ },
1031
+ "destination": {
1032
+ "type": "array",
1033
+ "items": {
1034
+ "type": "string"
1035
+ },
1036
+ "description": ""
1037
+ },
1038
+ "port": {
1039
+ "type": "array",
1040
+ "items": {
1041
+ "type": "string"
1042
+ },
1043
+ "description": ""
1044
+ },
1045
+ "type": {
1046
+ "$ref": "#/components/schemas/Type4"
1047
+ }
1048
+ }
1049
+ },
1050
+ "ObjectChangeRequestDetails": {
1051
+ "title": "ObjectChangeRequestDetails",
1052
+ "required": [
1053
+ "template",
1054
+ "fields",
1055
+ "devices",
1056
+ "requestedActions"
1057
+ ],
1058
+ "type": "object",
1059
+ "properties": {
1060
+ "template": {
1061
+ "type": "string"
1062
+ },
1063
+ "fields": {
1064
+ "type": "array",
1065
+ "items": {
1066
+ "$ref": "#/components/schemas/Fields"
1067
+ },
1068
+ "description": ""
1069
+ },
1070
+ "subject": {
1071
+ "type": "string"
1072
+ },
1073
+ "cc": {
1074
+ "type": "array",
1075
+ "items": {
1076
+ "type": "string"
1077
+ },
1078
+ "description": ""
1079
+ },
1080
+ "description": {
1081
+ "type": "string"
1082
+ },
1083
+ "devices": {
1084
+ "type": "array",
1085
+ "items": {
1086
+ "type": "string"
1087
+ },
1088
+ "description": ""
1089
+ },
1090
+ "due": {
1091
+ "type": "string"
1092
+ },
1093
+ "expire": {
1094
+ "type": "string"
1095
+ },
1096
+ "externalId": {
1097
+ "type": "string"
1098
+ },
1099
+ "owner": {
1100
+ "type": "string"
1101
+ },
1102
+ "priority": {
1103
+ "type": "string"
1104
+ },
1105
+ "refersTo": {
1106
+ "type": "array",
1107
+ "items": {
1108
+ "type": "string"
1109
+ },
1110
+ "description": ""
1111
+ },
1112
+ "referredBy": {
1113
+ "type": "array",
1114
+ "items": {
1115
+ "type": "string"
1116
+ },
1117
+ "description": ""
1118
+ },
1119
+ "requestor": {
1120
+ "type": "string"
1121
+ },
1122
+ "requestedActions": {
1123
+ "type": "array",
1124
+ "items": {
1125
+ "$ref": "#/components/schemas/Action"
1126
+ },
1127
+ "description": "Requested actions"
1128
+ },
1129
+ "objectContainerLevel": {
1130
+ "allOf": [
1131
+ {
1132
+ "$ref": "#/components/schemas/ObjectContainerLevel"
1133
+ },
1134
+ {
1135
+ "description": "Object container level"
1136
+ }
1137
+ ]
1138
+ }
1139
+ }
1140
+ },
1141
+ "RemoveObjectsFromGroup": {
1142
+ "title": "RemoveObjectsFromGroup",
1143
+ "allOf": [
1144
+ {
1145
+ "$ref": "#/components/schemas/Action"
1146
+ },
1147
+ {
1148
+ "type": "object",
1149
+ "properties": {
1150
+ "devices": {
1151
+ "type": "array",
1152
+ "items": {
1153
+ "type": "string"
1154
+ },
1155
+ "description": ""
1156
+ },
1157
+ "lineOrder": {
1158
+ "type": "integer",
1159
+ "format": "int32"
1160
+ },
1161
+ "name": {
1162
+ "type": "string"
1163
+ },
1164
+ "objectContainers": {
1165
+ "type": "array",
1166
+ "items": {
1167
+ "type": "integer",
1168
+ "format": "int64"
1169
+ },
1170
+ "description": ""
1171
+ },
1172
+ "type": {
1173
+ "$ref": "#/components/schemas/Type"
1174
+ },
1175
+ "valuableServiceObject": {
1176
+ "type": "boolean"
1177
+ },
1178
+ "values": {
1179
+ "type": "array",
1180
+ "items": {
1181
+ "type": "string"
1182
+ },
1183
+ "description": ""
1184
+ }
1185
+ }
1186
+ }
1187
+ ]
1188
+ },
1189
+ "ReplaceContent": {
1190
+ "title": "ReplaceContent",
1191
+ "allOf": [
1192
+ {
1193
+ "$ref": "#/components/schemas/Action"
1194
+ },
1195
+ {
1196
+ "type": "object",
1197
+ "properties": {
1198
+ "devices": {
1199
+ "type": "array",
1200
+ "items": {
1201
+ "type": "string"
1202
+ },
1203
+ "description": ""
1204
+ },
1205
+ "lineOrder": {
1206
+ "type": "integer",
1207
+ "format": "int32"
1208
+ },
1209
+ "name": {
1210
+ "type": "string"
1211
+ },
1212
+ "objectContainers": {
1213
+ "type": "array",
1214
+ "items": {
1215
+ "type": "integer",
1216
+ "format": "int64"
1217
+ },
1218
+ "description": ""
1219
+ },
1220
+ "type": {
1221
+ "$ref": "#/components/schemas/Type"
1222
+ },
1223
+ "valuableServiceObject": {
1224
+ "type": "boolean"
1225
+ },
1226
+ "values": {
1227
+ "type": "array",
1228
+ "items": {
1229
+ "type": "string"
1230
+ },
1231
+ "description": ""
1232
+ }
1233
+ }
1234
+ }
1235
+ ]
1236
+ },
1237
+ "RequestTemplateData": {
1238
+ "title": "RequestTemplateData",
1239
+ "type": "object",
1240
+ "properties": {
1241
+ "description": {
1242
+ "type": "string"
1243
+ },
1244
+ "enabled": {
1245
+ "type": "boolean"
1246
+ },
1247
+ "id": {
1248
+ "type": "integer",
1249
+ "format": "int32"
1250
+ },
1251
+ "name": {
1252
+ "type": "string"
1253
+ },
1254
+ "type": {
1255
+ "$ref": "#/components/schemas/Type8"
1256
+ }
1257
+ }
1258
+ },
1259
+ "Response": {
1260
+ "title": "Response",
1261
+ "type": "object",
1262
+ "properties": {
1263
+ "data": {
1264
+ "type": "object"
1265
+ },
1266
+ "messages": {
1267
+ "type": "array",
1268
+ "items": {
1269
+ "$ref": "#/components/schemas/MessageDetails"
1270
+ },
1271
+ "description": ""
1272
+ },
1273
+ "status": {
1274
+ "$ref": "#/components/schemas/Status"
1275
+ }
1276
+ }
1277
+ },
1278
+ "ResponseOfListOfRequestTemplateData": {
1279
+ "title": "ResponseOfListOfRequestTemplateData",
1280
+ "type": "object",
1281
+ "properties": {
1282
+ "data": {
1283
+ "type": "array",
1284
+ "items": {
1285
+ "$ref": "#/components/schemas/RequestTemplateData"
1286
+ },
1287
+ "description": ""
1288
+ },
1289
+ "messages": {
1290
+ "type": "array",
1291
+ "items": {
1292
+ "$ref": "#/components/schemas/MessageDetails"
1293
+ },
1294
+ "description": ""
1295
+ },
1296
+ "status": {
1297
+ "$ref": "#/components/schemas/Status"
1298
+ }
1299
+ }
1300
+ },
1301
+ "RuleRemovalChangeRequest": {
1302
+ "title": "RuleRemovalChangeRequest",
1303
+ "required": [
1304
+ "template",
1305
+ "fields",
1306
+ "requestActions"
1307
+ ],
1308
+ "type": "object",
1309
+ "properties": {
1310
+ "template": {
1311
+ "type": "string"
1312
+ },
1313
+ "fields": {
1314
+ "type": "array",
1315
+ "items": {
1316
+ "$ref": "#/components/schemas/Fields"
1317
+ },
1318
+ "description": ""
1319
+ },
1320
+ "requestActions": {
1321
+ "type": "array",
1322
+ "items": {
1323
+ "$ref": "#/components/schemas/RuleRemovalRequestedUnit"
1324
+ },
1325
+ "description": "Request actions"
1326
+ }
1327
+ }
1328
+ },
1329
+ "RuleRemovalRequestedUnit": {
1330
+ "title": "RuleRemovalRequestedUnit",
1331
+ "type": "object",
1332
+ "properties": {
1333
+ "action": {
1334
+ "$ref": "#/components/schemas/Action1"
1335
+ },
1336
+ "ruleId": {
1337
+ "type": "string"
1338
+ }
1339
+ }
1340
+ },
1341
+ "ServiceTrafficFieldDetails": {
1342
+ "title": "ServiceTrafficFieldDetails",
1343
+ "type": "object",
1344
+ "properties": {
1345
+ "items": {
1346
+ "type": "array",
1347
+ "items": {
1348
+ "$ref": "#/components/schemas/ServiceTrafficItemDetails"
1349
+ },
1350
+ "description": ""
1351
+ }
1352
+ }
1353
+ },
1354
+ "ServiceTrafficItemDetails": {
1355
+ "title": "ServiceTrafficItemDetails",
1356
+ "type": "object",
1357
+ "properties": {
1358
+ "service": {
1359
+ "type": "string",
1360
+ "example": "tcp/80"
1361
+ },
1362
+ "fields": {
1363
+ "type": "array",
1364
+ "items": {
1365
+ "$ref": "#/components/schemas/Fields"
1366
+ },
1367
+ "description": ""
1368
+ }
1369
+ }
1370
+ },
1371
+ "SessionRespose": {
1372
+ "title": "SessionRespose",
1373
+ "type": "object",
1374
+ "properties": {
1375
+ "message": {
1376
+ "$ref": "#/components/schemas/MessageDetails"
1377
+ },
1378
+ "valid": {
1379
+ "type": "boolean"
1380
+ }
1381
+ }
1382
+ },
1383
+ "TrafficChangeRequest": {
1384
+ "title": "TrafficChangeRequest",
1385
+ "required": [
1386
+ "template",
1387
+ "fields",
1388
+ "traffic"
1389
+ ],
1390
+ "type": "object",
1391
+ "properties": {
1392
+ "template": {
1393
+ "type": "string"
1394
+ },
1395
+ "fields": {
1396
+ "type": "array",
1397
+ "items": {
1398
+ "$ref": "#/components/schemas/Fields"
1399
+ },
1400
+ "description": ""
1401
+ },
1402
+ "traffic": {
1403
+ "type": "array",
1404
+ "items": {
1405
+ "$ref": "#/components/schemas/TrafficLineDetails"
1406
+ },
1407
+ "description": "traffic"
1408
+ }
1409
+ }
1410
+ },
1411
+ "TrafficChangeRequestData": {
1412
+ "title": "TrafficChangeRequestData",
1413
+ "type": "object",
1414
+ "properties": {
1415
+ "id": {
1416
+ "type": "integer",
1417
+ "format": "int64"
1418
+ },
1419
+ "subChangeRequests": {
1420
+ "type": "array",
1421
+ "items": {
1422
+ "type": "integer",
1423
+ "format": "int64"
1424
+ },
1425
+ "description": "sub change request ids"
1426
+ },
1427
+ "fields": {
1428
+ "type": "array",
1429
+ "items": {
1430
+ "$ref": "#/components/schemas/Field"
1431
+ },
1432
+ "description": "change request fields"
1433
+ },
1434
+ "originalTraffic": {
1435
+ "type": "array",
1436
+ "items": {
1437
+ "$ref": "#/components/schemas/TrafficLine"
1438
+ },
1439
+ "description": "original traffic requested by creator; available only for parent change request"
1440
+ },
1441
+ "plannedTraffic": {
1442
+ "type": "array",
1443
+ "items": {
1444
+ "$ref": "#/components/schemas/TrafficLine"
1445
+ },
1446
+ "description": "traffic that is planned to implement"
1447
+ }
1448
+ }
1449
+ },
1450
+ "TrafficChangeRequestResponse": {
1451
+ "title": "TrafficChangeRequestResponse",
1452
+ "type": "object",
1453
+ "properties": {
1454
+ "data": {
1455
+ "$ref": "#/components/schemas/TrafficChangeRequestData"
1456
+ },
1457
+ "messages": {
1458
+ "type": "array",
1459
+ "items": {
1460
+ "$ref": "#/components/schemas/MessageDetails"
1461
+ },
1462
+ "description": ""
1463
+ },
1464
+ "status": {
1465
+ "$ref": "#/components/schemas/Status"
1466
+ }
1467
+ }
1468
+ },
1469
+ "TrafficField": {
1470
+ "title": "TrafficField",
1471
+ "type": "object",
1472
+ "properties": {
1473
+ "items": {
1474
+ "type": "array",
1475
+ "items": {
1476
+ "$ref": "#/components/schemas/TrafficItem"
1477
+ },
1478
+ "description": ""
1479
+ }
1480
+ }
1481
+ },
1482
+ "TrafficItem": {
1483
+ "title": "TrafficItem",
1484
+ "type": "object",
1485
+ "properties": {
1486
+ "value": {
1487
+ "type": "string"
1488
+ },
1489
+ "fields": {
1490
+ "type": "array",
1491
+ "items": {
1492
+ "$ref": "#/components/schemas/Field"
1493
+ },
1494
+ "description": "custom fields related to the item"
1495
+ }
1496
+ }
1497
+ },
1498
+ "TrafficLine": {
1499
+ "title": "TrafficLine",
1500
+ "type": "object",
1501
+ "properties": {
1502
+ "source": {
1503
+ "$ref": "#/components/schemas/TrafficField"
1504
+ },
1505
+ "destination": {
1506
+ "$ref": "#/components/schemas/TrafficField"
1507
+ },
1508
+ "service": {
1509
+ "$ref": "#/components/schemas/TrafficField"
1510
+ },
1511
+ "application": {
1512
+ "$ref": "#/components/schemas/TrafficField"
1513
+ },
1514
+ "user": {
1515
+ "$ref": "#/components/schemas/TrafficField"
1516
+ },
1517
+ "fields": {
1518
+ "type": "array",
1519
+ "items": {
1520
+ "$ref": "#/components/schemas/Field"
1521
+ },
1522
+ "description": ""
1523
+ },
1524
+ "natDetails": {
1525
+ "$ref": "#/components/schemas/Nat"
1526
+ },
1527
+ "action": {
1528
+ "$ref": "#/components/schemas/Action2"
1529
+ }
1530
+ }
1531
+ },
1532
+ "TrafficLineDetails": {
1533
+ "title": "TrafficLineDetails",
1534
+ "required": [
1535
+ "source",
1536
+ "destination",
1537
+ "service",
1538
+ "application",
1539
+ "user",
1540
+ "natDetails",
1541
+ "fields"
1542
+ ],
1543
+ "type": "object",
1544
+ "properties": {
1545
+ "source": {
1546
+ "$ref": "#/components/schemas/AddressTrafficFieldDetails"
1547
+ },
1548
+ "destination": {
1549
+ "$ref": "#/components/schemas/AddressTrafficFieldDetails"
1550
+ },
1551
+ "service": {
1552
+ "$ref": "#/components/schemas/ServiceTrafficFieldDetails"
1553
+ },
1554
+ "application": {
1555
+ "$ref": "#/components/schemas/NameTrafficFieldDetails"
1556
+ },
1557
+ "user": {
1558
+ "$ref": "#/components/schemas/NameTrafficFieldDetails"
1559
+ },
1560
+ "action": {
1561
+ "type": "string",
1562
+ "example": "Allow/Drop"
1563
+ },
1564
+ "natDetails": {
1565
+ "$ref": "#/components/schemas/NatDetails"
1566
+ },
1567
+ "fields": {
1568
+ "type": "array",
1569
+ "items": {
1570
+ "$ref": "#/components/schemas/Fields"
1571
+ },
1572
+ "description": "fields"
1573
+ }
1574
+ }
1575
+ },
1576
+ "Action1": {
1577
+ "title": "Action1",
1578
+ "enum": [
1579
+ "remove",
1580
+ "disable"
1581
+ ],
1582
+ "type": "string"
1583
+ },
1584
+ "Action2": {
1585
+ "title": "Action2",
1586
+ "enum": [
1587
+ "Allow",
1588
+ "Drop"
1589
+ ],
1590
+ "type": "string"
1591
+ },
1592
+ "ObjectContainerLevel": {
1593
+ "title": "ObjectContainerLevel",
1594
+ "enum": [
1595
+ "Lowest",
1596
+ "Highest",
1597
+ "Automatic",
1598
+ "Invalid"
1599
+ ],
1600
+ "type": "string",
1601
+ "description": "Object container level"
1602
+ },
1603
+ "Status": {
1604
+ "title": "Status",
1605
+ "enum": [
1606
+ "Success",
1607
+ "Failure"
1608
+ ],
1609
+ "type": "string"
1610
+ },
1611
+ "Type": {
1612
+ "title": "Type",
1613
+ "enum": [
1614
+ "network",
1615
+ "service"
1616
+ ],
1617
+ "type": "string"
1618
+ },
1619
+ "Type4": {
1620
+ "title": "Type4",
1621
+ "enum": [
1622
+ "Static",
1623
+ "Dynamic",
1624
+ "None"
1625
+ ],
1626
+ "type": "string"
1627
+ },
1628
+ "Type8": {
1629
+ "title": "Type8",
1630
+ "enum": [
1631
+ "Generic Change",
1632
+ "Object Change",
1633
+ "Object Change Multi Device",
1634
+ "Request Recertification",
1635
+ "Rule Modification",
1636
+ "Rule Removal",
1637
+ "Traffic Change",
1638
+ "Traffic Change IPv6",
1639
+ "Unknown",
1640
+ "Web Filter Change"
1641
+ ],
1642
+ "type": "string"
1643
+ }
1644
+ }
1645
+ },
1646
+ "tags": [
1647
+ {
1648
+ "name": "active-change-external-controller",
1649
+ "description": "Active Change External Controller"
1650
+ },
1651
+ {
1652
+ "name": "authentication-external-controller",
1653
+ "description": "Authentication External Controller"
1654
+ },
1655
+ {
1656
+ "name": "object-change-request-external-controller",
1657
+ "description": "Object Change Request External Controller"
1658
+ },
1659
+ {
1660
+ "name": "request-template-external-controller",
1661
+ "description": "Request Template External Controller"
1662
+ },
1663
+ {
1664
+ "name": "rule-removal-change-request-external-controller",
1665
+ "description": "Rule Removal Change Request External Controller"
1666
+ },
1667
+ {
1668
+ "name": "saved-search-controller",
1669
+ "description": "Saved Search Controller"
1670
+ },
1671
+ {
1672
+ "name": "session-external-controller",
1673
+ "description": "Session External Controller"
1674
+ },
1675
+ {
1676
+ "name": "traffic-change-request-external-controller",
1677
+ "description": "Traffic Change Request External Controller"
1678
+ },
1679
+ {
1680
+ "name": "work-order-external-controller",
1681
+ "description": "Work Order External Controller"
1682
+ }
1683
+ ]
1684
+ }