7f187d4e620c2038acfc3b2eb9547ecb362372db
[dmaap/dbcapi.git] / docs / api.rst
1 DMaaP Bus Controller REST API 1.1.0
2 ===================================
3
4 .. toctree::
5     :maxdepth: 3
6
7
8 Description
9 ~~~~~~~~~~~
10
11 provides an API for OpenDCAE components which need to provision
12                                                                         underlying DMaaP technologies (Data Router and Message Router).
13                                                                         Primary clients for this API are anticipated to be the OpenDCAE
14                                                                         Controller, OpenDCAE Orchestrator, OpenDCAE Inventory and the
15                                                                         ECOMP Portal.
16
17                                                                         Objects managed by DMaaP are deployed in a dcaeLocation which is a
18                                                                         unique identifier for an OpenStack tenant for a dcaeLayer,
19                                                                         opendcae-central (aka ecomp) or opendcae-local-ntc (aka edge).
20
21                                                                         A dcaeEnvironment (e.g. FTL or prod) has a single DMaaP. A
22                                                                         DMaaP is managed by a one or more stateless DMaaP Bus
23                                                                         Controller(s), though Bus Controller relies on PGaaS for
24                                                                         persistence. Each DMaaP has a single instance of Data Router,
25                                                                         which has 1 or more DR_Nodes deployed at each dcaeLocation. DR
26                                                                         Clients of type DR_Pub generally publish to a DR_Node that is
27                                                                         local to its dcaeLocation. Routing for a Feed is determined by
28                                                                         the dcaelocation of its DR_Sub clients.
29
30                                                                         A DMaaP may have many Message Router instances. Each instance is
31                                                                         deployed as an MR_Cluster. One MR_Cluster is deployed at each
32                                                                         dcaeLocation. MR_Clients generally communicate to the
33                                                                         MR_Cluster at the same dcaeLocation. Replication of messages
34                                                                         between MR_Clusters is accomplished by MR Bridge, which is
35                                                                         provioned by DMaaP Bus Controller based on Topic attributes.
36
37                                                                         Therefore, the role of DMaaP Bus Controller is to support other
38                                                                         DCAE infrastructure components to dynamically provision DMaaP
39                                                                         services on behalf of DMaaP clients, and to assist in any
40                                                                         management or discovery activity of its clients.
41
42                                                                         A convention of this API is to return JSON responses per
43                                                                         OpenStack style.
44
45
46
47 Contact Information
48 ~~~~~~~~~~~~~~~~~~~
49
50
51
52
53 http://www.onap.org
54
55
56
57
58 License
59 ~~~~~~~
60
61
62 `Licensed under the Apache License, Version 2.0 <http://www.apache.org/licenses/LICENSE-2.0>`_
63
64
65
66
67 Base URL
68 ~~~~~~~~
69
70 http://www.[host]:[port]/webapi
71 https://www.[host]:[port]/webapi
72
73 BRIDGE
74 ~~~~~~
75
76
77 Endpoint for retreiving MR Bridge metrics
78
79
80
81
82
83 GET ``/bridge``
84 ---------------
85
86
87 Summary
88 +++++++
89
90 return BrTopic details
91
92 Description
93 +++++++++++
94
95 .. raw:: html
96
97     Returns array of  `BrTopic` objects. If source and target query params are specified, only report on that bridge.  If detail param is true, list topics names, else just a count is returned.
98
99 Parameters
100 ++++++++++
101
102 .. csv-table::
103     :delim: |
104     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
105     :widths: 20, 15, 10, 10, 10, 20, 30
106
107         mmagent | query | No | string |  |  | 
108         detail | query | No | boolean |  |  | 
109
110
111 Request
112 +++++++
113
114
115 Responses
116 +++++++++
117
118 **200**
119 ^^^^^^^
120
121 Success
122
123
124 Type: :ref:`BrTopic <d_d71baea9d8e4e59bc395ef51f45dff1b>`
125
126 **Example:**
127
128 .. code-block:: javascript
129
130     {
131         "brSource": "somestring", 
132         "brTarget": "somestring", 
133         "mmAgentName": "somestring", 
134         "topicCount": 1
135     }
136
137 **400**
138 ^^^^^^^
139
140 Error
141
142
143 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
144
145 **Example:**
146
147 .. code-block:: javascript
148
149     {
150         "code": 1, 
151         "fields": "somestring", 
152         "is2xx": true, 
153         "message": "somestring"
154     }
155
156
157
158
159
160 PUT ``/bridge``
161 ---------------
162
163
164 Summary
165 +++++++
166
167 update MirrorMaker details
168
169 Description
170 +++++++++++
171
172 .. raw:: html
173
174     replace the topic list for a specific Bridge.  Use JSON Body for value to replace whitelist, but if refreshFlag param is true, simply refresh using existing whitelist.If split param is true, spread whitelist over smaller mmagents.
175
176 Parameters
177 ++++++++++
178
179 .. csv-table::
180     :delim: |
181     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
182     :widths: 20, 15, 10, 10, 10, 20, 30
183
184         mmagent | query | No | string |  |  | 
185         refresh | query | No | boolean |  |  | 
186         split | query | No | boolean |  |  | 
187
188
189 Request
190 +++++++
191
192
193 Responses
194 +++++++++
195
196 **200**
197 ^^^^^^^
198
199 Success
200
201
202 Type: :ref:`BrTopic <d_d71baea9d8e4e59bc395ef51f45dff1b>`
203
204 **Example:**
205
206 .. code-block:: javascript
207
208     {
209         "brSource": "somestring", 
210         "brTarget": "somestring", 
211         "mmAgentName": "somestring", 
212         "topicCount": 1
213     }
214
215 **400**
216 ^^^^^^^
217
218 Error
219
220
221 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
222
223 **Example:**
224
225 .. code-block:: javascript
226
227     {
228         "code": 1, 
229         "fields": "somestring", 
230         "is2xx": true, 
231         "message": "somestring"
232     }
233
234
235
236   
237 DCAELOCATIONS
238 ~~~~~~~~~~~~~
239
240
241 an OpenStack tenant purposed for OpenDCAE (i.e. where OpenDCAE components might be deployed)
242
243
244
245
246
247 POST ``/dcaeLocations``
248 -----------------------
249
250
251 Summary
252 +++++++
253
254 return dcaeLocation details
255
256 Description
257 +++++++++++
258
259 .. raw:: html
260
261     Create some `dcaeLocation` which is a unique identifier for an *OpenStack* tenant purposed for a *dcaeLayer*  (ecomp or edge).
262
263
264 Request
265 +++++++
266
267
268 Responses
269 +++++++++
270
271 **200**
272 ^^^^^^^
273
274 Success
275
276
277 Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
278
279 **Example:**
280
281 .. code-block:: javascript
282
283     {
284         "central": true, 
285         "clli": "somestring", 
286         "dcaeLayer": "somestring", 
287         "dcaeLocationName": "somestring", 
288         "lastMod": "2015-01-01T15:00:00.000Z", 
289         "local": true, 
290         "openStackAvailabilityZone": "somestring", 
291         "status": "EMPTY", 
292         "subnet": "somestring"
293     }
294
295 **400**
296 ^^^^^^^
297
298 Error
299
300
301 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
302
303 **Example:**
304
305 .. code-block:: javascript
306
307     {
308         "code": 1, 
309         "fields": "somestring", 
310         "is2xx": true, 
311         "message": "somestring"
312     }
313
314
315
316
317
318 DELETE ``/dcaeLocations/{locationName}``
319 ----------------------------------------
320
321
322 Summary
323 +++++++
324
325 return dcaeLocation details
326
327 Description
328 +++++++++++
329
330 .. raw:: html
331
332     delete a dcaeLocation
333
334 Parameters
335 ++++++++++
336
337 .. csv-table::
338     :delim: |
339     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
340     :widths: 20, 15, 10, 10, 10, 20, 30
341
342         locationName | path | Yes | string |  |  | 
343
344
345 Request
346 +++++++
347
348
349 Responses
350 +++++++++
351
352 **200**
353 ^^^^^^^
354
355 successful operation
356
357
358 Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
359
360 **Example:**
361
362 .. code-block:: javascript
363
364     {
365         "central": true, 
366         "clli": "somestring", 
367         "dcaeLayer": "somestring", 
368         "dcaeLocationName": "somestring", 
369         "lastMod": "2015-01-01T15:00:00.000Z", 
370         "local": true, 
371         "openStackAvailabilityZone": "somestring", 
372         "status": "EMPTY", 
373         "subnet": "somestring"
374     }
375
376 **204**
377 ^^^^^^^
378
379 Success
380
381
382 Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
383
384 **Example:**
385
386 .. code-block:: javascript
387
388     {
389         "central": true, 
390         "clli": "somestring", 
391         "dcaeLayer": "somestring", 
392         "dcaeLocationName": "somestring", 
393         "lastMod": "2015-01-01T15:00:00.000Z", 
394         "local": true, 
395         "openStackAvailabilityZone": "somestring", 
396         "status": "EMPTY", 
397         "subnet": "somestring"
398     }
399
400 **400**
401 ^^^^^^^
402
403 Error
404
405
406 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
407
408 **Example:**
409
410 .. code-block:: javascript
411
412     {
413         "code": 1, 
414         "fields": "somestring", 
415         "is2xx": true, 
416         "message": "somestring"
417     }
418
419
420
421
422
423 GET ``/dcaeLocations/{locationName}``
424 -------------------------------------
425
426
427 Summary
428 +++++++
429
430 return dcaeLocation details
431
432 Description
433 +++++++++++
434
435 .. raw:: html
436
437     Returns a specific `dcaeLocation` object with specified tag
438
439 Parameters
440 ++++++++++
441
442 .. csv-table::
443     :delim: |
444     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
445     :widths: 20, 15, 10, 10, 10, 20, 30
446
447         locationName | path | Yes | string |  |  | 
448
449
450 Request
451 +++++++
452
453
454 Responses
455 +++++++++
456
457 **200**
458 ^^^^^^^
459
460 Success
461
462
463 Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
464
465 **Example:**
466
467 .. code-block:: javascript
468
469     {
470         "central": true, 
471         "clli": "somestring", 
472         "dcaeLayer": "somestring", 
473         "dcaeLocationName": "somestring", 
474         "lastMod": "2015-01-01T15:00:00.000Z", 
475         "local": true, 
476         "openStackAvailabilityZone": "somestring", 
477         "status": "EMPTY", 
478         "subnet": "somestring"
479     }
480
481 **400**
482 ^^^^^^^
483
484 Error
485
486
487 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
488
489 **Example:**
490
491 .. code-block:: javascript
492
493     {
494         "code": 1, 
495         "fields": "somestring", 
496         "is2xx": true, 
497         "message": "somestring"
498     }
499
500
501
502
503
504 GET ``/dcaeLocations``
505 ----------------------
506
507
508 Summary
509 +++++++
510
511 return dcaeLocation details
512
513 Description
514 +++++++++++
515
516 .. raw:: html
517
518     Returns array of  `dcaeLocation` objects.  All objects managed by DMaaP are deployed in some `dcaeLocation` which is a unique identifier for an *OpenStack* tenant purposed for a *dcaeLayer*  (ecomp or edge).
519
520
521 Request
522 +++++++
523
524
525 Responses
526 +++++++++
527
528 **200**
529 ^^^^^^^
530
531 Success
532
533
534 Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
535
536 **Example:**
537
538 .. code-block:: javascript
539
540     {
541         "central": true, 
542         "clli": "somestring", 
543         "dcaeLayer": "somestring", 
544         "dcaeLocationName": "somestring", 
545         "lastMod": "2015-01-01T15:00:00.000Z", 
546         "local": true, 
547         "openStackAvailabilityZone": "somestring", 
548         "status": "EMPTY", 
549         "subnet": "somestring"
550     }
551
552 **400**
553 ^^^^^^^
554
555 Error
556
557
558 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
559
560 **Example:**
561
562 .. code-block:: javascript
563
564     {
565         "code": 1, 
566         "fields": "somestring", 
567         "is2xx": true, 
568         "message": "somestring"
569     }
570
571
572
573
574
575 PUT ``/dcaeLocations/{locationName}``
576 -------------------------------------
577
578
579 Summary
580 +++++++
581
582 return dcaeLocation details
583
584 Description
585 +++++++++++
586
587 .. raw:: html
588
589     update the openStackAvailabilityZone of a dcaeLocation
590
591 Parameters
592 ++++++++++
593
594 .. csv-table::
595     :delim: |
596     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
597     :widths: 20, 15, 10, 10, 10, 20, 30
598
599         locationName | path | Yes | string |  |  | 
600
601
602 Request
603 +++++++
604
605
606 Responses
607 +++++++++
608
609 **200**
610 ^^^^^^^
611
612 Success
613
614
615 Type: :ref:`DcaeLocation <d_47d80e451933beb623fcf5257867cbcb>`
616
617 **Example:**
618
619 .. code-block:: javascript
620
621     {
622         "central": true, 
623         "clli": "somestring", 
624         "dcaeLayer": "somestring", 
625         "dcaeLocationName": "somestring", 
626         "lastMod": "2015-01-01T15:00:00.000Z", 
627         "local": true, 
628         "openStackAvailabilityZone": "somestring", 
629         "status": "EMPTY", 
630         "subnet": "somestring"
631     }
632
633 **400**
634 ^^^^^^^
635
636 Error
637
638
639 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
640
641 **Example:**
642
643 .. code-block:: javascript
644
645     {
646         "code": 1, 
647         "fields": "somestring", 
648         "is2xx": true, 
649         "message": "somestring"
650     }
651
652
653
654   
655 DMAAP
656 ~~~~~
657
658
659 V2 Endpoint for this instance of DMaaP object containing values for this OpenDCAE deployment
660
661
662
663
664
665 POST ``/dmaap_v2``
666 ------------------
667
668
669 Summary
670 +++++++
671
672 return dmaap details
673
674 Description
675 +++++++++++
676
677 .. raw:: html
678
679     Create a new DMaaP set system wide configuration settings for the *dcaeEnvironment*.  Deprecated with introduction of persistence in 1610.
680
681
682 Request
683 +++++++
684
685
686 Responses
687 +++++++++
688
689 **200**
690 ^^^^^^^
691
692 Success
693
694
695 Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
696
697 **Example:**
698
699 .. code-block:: javascript
700
701     {
702         "accessKeyOwner": "somestring", 
703         "bridgeAdminTopic": "somestring", 
704         "dmaapName": "somestring", 
705         "drProvUrl": "somestring", 
706         "lastMod": "2015-01-01T15:00:00.000Z", 
707         "loggingUrl": "somestring", 
708         "nodeKey": "somestring", 
709         "status": "EMPTY", 
710         "topicNsRoot": "somestring", 
711         "version": "somestring"
712     }
713
714 **400**
715 ^^^^^^^
716
717 Error
718
719
720 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
721
722 **Example:**
723
724 .. code-block:: javascript
725
726     {
727         "code": 1, 
728         "fields": "somestring", 
729         "is2xx": true, 
730         "message": "somestring"
731     }
732
733
734
735
736
737 POST ``/dmaap``
738 ---------------
739
740
741 Summary
742 +++++++
743
744 return dmaap details
745
746 Description
747 +++++++++++
748
749 .. raw:: html
750
751     Create a new DMaaP set system wide configuration settings for the *dcaeEnvironment*.  Deprecated with introduction of persistence in 1610.
752
753
754 Request
755 +++++++
756
757
758 Responses
759 +++++++++
760
761 **200**
762 ^^^^^^^
763
764 Success
765
766
767 Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
768
769 **Example:**
770
771 .. code-block:: javascript
772
773     {
774         "accessKeyOwner": "somestring", 
775         "bridgeAdminTopic": "somestring", 
776         "dmaapName": "somestring", 
777         "drProvUrl": "somestring", 
778         "lastMod": "2015-01-01T15:00:00.000Z", 
779         "loggingUrl": "somestring", 
780         "nodeKey": "somestring", 
781         "status": "EMPTY", 
782         "topicNsRoot": "somestring", 
783         "version": "somestring"
784     }
785
786 **400**
787 ^^^^^^^
788
789 Error
790
791
792 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
793
794 **Example:**
795
796 .. code-block:: javascript
797
798     {
799         "code": 1, 
800         "fields": "somestring", 
801         "is2xx": true, 
802         "message": "somestring"
803     }
804
805
806
807
808
809 GET ``/dmaap_v2``
810 -----------------
811
812
813 Summary
814 +++++++
815
816 return dmaap details
817
818 Description
819 +++++++++++
820
821 .. raw:: html
822
823     returns the `dmaap` object, which contains system wide configuration settings
824
825
826 Request
827 +++++++
828
829
830 Responses
831 +++++++++
832
833 **200**
834 ^^^^^^^
835
836 Success
837
838
839 Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
840
841 **Example:**
842
843 .. code-block:: javascript
844
845     {
846         "accessKeyOwner": "somestring", 
847         "bridgeAdminTopic": "somestring", 
848         "dmaapName": "somestring", 
849         "drProvUrl": "somestring", 
850         "lastMod": "2015-01-01T15:00:00.000Z", 
851         "loggingUrl": "somestring", 
852         "nodeKey": "somestring", 
853         "status": "EMPTY", 
854         "topicNsRoot": "somestring", 
855         "version": "somestring"
856     }
857
858 **400**
859 ^^^^^^^
860
861 Error
862
863
864 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
865
866 **Example:**
867
868 .. code-block:: javascript
869
870     {
871         "code": 1, 
872         "fields": "somestring", 
873         "is2xx": true, 
874         "message": "somestring"
875     }
876
877
878
879
880
881 GET ``/dmaap``
882 --------------
883
884
885 Summary
886 +++++++
887
888 return dmaap details
889
890 Description
891 +++++++++++
892
893 .. raw:: html
894
895     returns the `dmaap` object, which contains system wide configuration settings
896
897
898 Request
899 +++++++
900
901
902 Responses
903 +++++++++
904
905 **200**
906 ^^^^^^^
907
908 Success
909
910
911 Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
912
913 **Example:**
914
915 .. code-block:: javascript
916
917     {
918         "accessKeyOwner": "somestring", 
919         "bridgeAdminTopic": "somestring", 
920         "dmaapName": "somestring", 
921         "drProvUrl": "somestring", 
922         "lastMod": "2015-01-01T15:00:00.000Z", 
923         "loggingUrl": "somestring", 
924         "nodeKey": "somestring", 
925         "status": "EMPTY", 
926         "topicNsRoot": "somestring", 
927         "version": "somestring"
928     }
929
930 **400**
931 ^^^^^^^
932
933 Error
934
935
936 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
937
938 **Example:**
939
940 .. code-block:: javascript
941
942     {
943         "code": 1, 
944         "fields": "somestring", 
945         "is2xx": true, 
946         "message": "somestring"
947     }
948
949
950
951
952
953 PUT ``/dmaap_v2``
954 -----------------
955
956
957 Summary
958 +++++++
959
960 return dmaap details
961
962 Description
963 +++++++++++
964
965 .. raw:: html
966
967     Update system settings for *dcaeEnvironment*.
968
969
970 Request
971 +++++++
972
973
974 Responses
975 +++++++++
976
977 **200**
978 ^^^^^^^
979
980 Success
981
982
983 Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
984
985 **Example:**
986
987 .. code-block:: javascript
988
989     {
990         "accessKeyOwner": "somestring", 
991         "bridgeAdminTopic": "somestring", 
992         "dmaapName": "somestring", 
993         "drProvUrl": "somestring", 
994         "lastMod": "2015-01-01T15:00:00.000Z", 
995         "loggingUrl": "somestring", 
996         "nodeKey": "somestring", 
997         "status": "EMPTY", 
998         "topicNsRoot": "somestring", 
999         "version": "somestring"
1000     }
1001
1002 **400**
1003 ^^^^^^^
1004
1005 Error
1006
1007
1008 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1009
1010 **Example:**
1011
1012 .. code-block:: javascript
1013
1014     {
1015         "code": 1, 
1016         "fields": "somestring", 
1017         "is2xx": true, 
1018         "message": "somestring"
1019     }
1020
1021
1022
1023
1024
1025 PUT ``/dmaap``
1026 --------------
1027
1028
1029 Summary
1030 +++++++
1031
1032 return dmaap details
1033
1034 Description
1035 +++++++++++
1036
1037 .. raw:: html
1038
1039     Update system settings for *dcaeEnvironment*.
1040
1041
1042 Request
1043 +++++++
1044
1045
1046 Responses
1047 +++++++++
1048
1049 **200**
1050 ^^^^^^^
1051
1052 Success
1053
1054
1055 Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
1056
1057 **Example:**
1058
1059 .. code-block:: javascript
1060
1061     {
1062         "accessKeyOwner": "somestring", 
1063         "bridgeAdminTopic": "somestring", 
1064         "dmaapName": "somestring", 
1065         "drProvUrl": "somestring", 
1066         "lastMod": "2015-01-01T15:00:00.000Z", 
1067         "loggingUrl": "somestring", 
1068         "nodeKey": "somestring", 
1069         "status": "EMPTY", 
1070         "topicNsRoot": "somestring", 
1071         "version": "somestring"
1072     }
1073
1074 **400**
1075 ^^^^^^^
1076
1077 Error
1078
1079
1080 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1081
1082 **Example:**
1083
1084 .. code-block:: javascript
1085
1086     {
1087         "code": 1, 
1088         "fields": "somestring", 
1089         "is2xx": true, 
1090         "message": "somestring"
1091     }
1092
1093
1094
1095   
1096 DR_NODES
1097 ~~~~~~~~
1098
1099
1100 Endpoint for a Data Router Node server
1101
1102
1103
1104
1105
1106 POST ``/dr_nodes``
1107 ------------------
1108
1109
1110 Summary
1111 +++++++
1112
1113 return DR_Node details
1114
1115 Description
1116 +++++++++++
1117
1118 .. raw:: html
1119
1120     create a `DR_Node` in a *dcaeLocation*.  Note that multiple `DR_Node`s may exist in the same `dcaeLocation`.
1121
1122
1123 Request
1124 +++++++
1125
1126
1127 Responses
1128 +++++++++
1129
1130 **200**
1131 ^^^^^^^
1132
1133 Success
1134
1135
1136 Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
1137
1138 **Example:**
1139
1140 .. code-block:: javascript
1141
1142     {
1143         "dcaeLocationName": "somestring", 
1144         "fqdn": "somestring", 
1145         "hostName": "somestring", 
1146         "lastMod": "2015-01-01T15:00:00.000Z", 
1147         "status": "EMPTY", 
1148         "version": "somestring"
1149     }
1150
1151 **400**
1152 ^^^^^^^
1153
1154 Error
1155
1156
1157 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1158
1159 **Example:**
1160
1161 .. code-block:: javascript
1162
1163     {
1164         "code": 1, 
1165         "fields": "somestring", 
1166         "is2xx": true, 
1167         "message": "somestring"
1168     }
1169
1170
1171
1172
1173
1174 DELETE ``/dr_nodes/{fqdn}``
1175 ---------------------------
1176
1177
1178 Summary
1179 +++++++
1180
1181 No Content
1182
1183 Description
1184 +++++++++++
1185
1186 .. raw:: html
1187
1188     Delete a single `DR_Node` object.
1189
1190 Parameters
1191 ++++++++++
1192
1193 .. csv-table::
1194     :delim: |
1195     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
1196     :widths: 20, 15, 10, 10, 10, 20, 30
1197
1198         fqdn | path | Yes | string |  |  | 
1199
1200
1201 Request
1202 +++++++
1203
1204
1205 Responses
1206 +++++++++
1207
1208 **200**
1209 ^^^^^^^
1210
1211 successful operation
1212
1213
1214 Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
1215
1216 **Example:**
1217
1218 .. code-block:: javascript
1219
1220     {
1221         "dcaeLocationName": "somestring", 
1222         "fqdn": "somestring", 
1223         "hostName": "somestring", 
1224         "lastMod": "2015-01-01T15:00:00.000Z", 
1225         "status": "EMPTY", 
1226         "version": "somestring"
1227     }
1228
1229 **204**
1230 ^^^^^^^
1231
1232 Success
1233
1234
1235 Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
1236
1237 **Example:**
1238
1239 .. code-block:: javascript
1240
1241     {
1242         "dcaeLocationName": "somestring", 
1243         "fqdn": "somestring", 
1244         "hostName": "somestring", 
1245         "lastMod": "2015-01-01T15:00:00.000Z", 
1246         "status": "EMPTY", 
1247         "version": "somestring"
1248     }
1249
1250 **400**
1251 ^^^^^^^
1252
1253 Error
1254
1255
1256 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1257
1258 **Example:**
1259
1260 .. code-block:: javascript
1261
1262     {
1263         "code": 1, 
1264         "fields": "somestring", 
1265         "is2xx": true, 
1266         "message": "somestring"
1267     }
1268
1269
1270
1271
1272
1273 GET ``/dr_nodes/{fqdn}``
1274 ------------------------
1275
1276
1277 Summary
1278 +++++++
1279
1280 return DR_Node details
1281
1282 Description
1283 +++++++++++
1284
1285 .. raw:: html
1286
1287     Retrieve a single `DR_Node` object.
1288
1289 Parameters
1290 ++++++++++
1291
1292 .. csv-table::
1293     :delim: |
1294     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
1295     :widths: 20, 15, 10, 10, 10, 20, 30
1296
1297         fqdn | path | Yes | string |  |  | 
1298
1299
1300 Request
1301 +++++++
1302
1303
1304 Responses
1305 +++++++++
1306
1307 **200**
1308 ^^^^^^^
1309
1310 Success
1311
1312
1313 Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
1314
1315 **Example:**
1316
1317 .. code-block:: javascript
1318
1319     {
1320         "dcaeLocationName": "somestring", 
1321         "fqdn": "somestring", 
1322         "hostName": "somestring", 
1323         "lastMod": "2015-01-01T15:00:00.000Z", 
1324         "status": "EMPTY", 
1325         "version": "somestring"
1326     }
1327
1328 **400**
1329 ^^^^^^^
1330
1331 Error
1332
1333
1334 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1335
1336 **Example:**
1337
1338 .. code-block:: javascript
1339
1340     {
1341         "code": 1, 
1342         "fields": "somestring", 
1343         "is2xx": true, 
1344         "message": "somestring"
1345     }
1346
1347
1348
1349
1350
1351 GET ``/dr_nodes``
1352 -----------------
1353
1354
1355 Summary
1356 +++++++
1357
1358 return DR_Node details
1359
1360 Description
1361 +++++++++++
1362
1363 .. raw:: html
1364
1365     Returns array of `DR_Node` object array.  Need to add filter by dcaeLocation.
1366
1367
1368 Request
1369 +++++++
1370
1371
1372 Responses
1373 +++++++++
1374
1375 **200**
1376 ^^^^^^^
1377
1378 Success
1379
1380
1381 Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
1382
1383 **Example:**
1384
1385 .. code-block:: javascript
1386
1387     {
1388         "dcaeLocationName": "somestring", 
1389         "fqdn": "somestring", 
1390         "hostName": "somestring", 
1391         "lastMod": "2015-01-01T15:00:00.000Z", 
1392         "status": "EMPTY", 
1393         "version": "somestring"
1394     }
1395
1396 **400**
1397 ^^^^^^^
1398
1399 Error
1400
1401
1402 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1403
1404 **Example:**
1405
1406 .. code-block:: javascript
1407
1408     {
1409         "code": 1, 
1410         "fields": "somestring", 
1411         "is2xx": true, 
1412         "message": "somestring"
1413     }
1414
1415
1416
1417
1418
1419 PUT ``/dr_nodes/{fqdn}``
1420 ------------------------
1421
1422
1423 Summary
1424 +++++++
1425
1426 return DR_Node details
1427
1428 Description
1429 +++++++++++
1430
1431 .. raw:: html
1432
1433     Update a single `DR_Node` object.
1434
1435 Parameters
1436 ++++++++++
1437
1438 .. csv-table::
1439     :delim: |
1440     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
1441     :widths: 20, 15, 10, 10, 10, 20, 30
1442
1443         fqdn | path | Yes | string |  |  | 
1444
1445
1446 Request
1447 +++++++
1448
1449
1450 Responses
1451 +++++++++
1452
1453 **200**
1454 ^^^^^^^
1455
1456 Success
1457
1458
1459 Type: :ref:`DR_Node <d_d15e2cee407536866c875375e3f705e0>`
1460
1461 **Example:**
1462
1463 .. code-block:: javascript
1464
1465     {
1466         "dcaeLocationName": "somestring", 
1467         "fqdn": "somestring", 
1468         "hostName": "somestring", 
1469         "lastMod": "2015-01-01T15:00:00.000Z", 
1470         "status": "EMPTY", 
1471         "version": "somestring"
1472     }
1473
1474 **400**
1475 ^^^^^^^
1476
1477 Error
1478
1479
1480 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1481
1482 **Example:**
1483
1484 .. code-block:: javascript
1485
1486     {
1487         "code": 1, 
1488         "fields": "somestring", 
1489         "is2xx": true, 
1490         "message": "somestring"
1491     }
1492
1493
1494
1495   
1496 DR_PUBS
1497 ~~~~~~~
1498
1499
1500 Endpoint for a Data Router client that implements a Publisher
1501
1502
1503
1504
1505
1506 POST ``/dr_pubs``
1507 -----------------
1508
1509
1510 Summary
1511 +++++++
1512
1513 return DR_Pub details
1514
1515 Description
1516 +++++++++++
1517
1518 .. raw:: html
1519
1520     create a DR Publisher in the specified environment.
1521
1522
1523 Request
1524 +++++++
1525
1526
1527 Responses
1528 +++++++++
1529
1530 **200**
1531 ^^^^^^^
1532
1533 Success
1534
1535
1536 Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
1537
1538 **Example:**
1539
1540 .. code-block:: javascript
1541
1542     {
1543         "dcaeLocationName": "somestring", 
1544         "feedId": "somestring", 
1545         "lastMod": "2015-01-01T15:00:00.000Z", 
1546         "pubId": "somestring", 
1547         "status": "EMPTY", 
1548         "username": "somestring", 
1549         "userpwd": "somestring"
1550     }
1551
1552 **400**
1553 ^^^^^^^
1554
1555 Error
1556
1557
1558 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1559
1560 **Example:**
1561
1562 .. code-block:: javascript
1563
1564     {
1565         "code": 1, 
1566         "fields": "somestring", 
1567         "is2xx": true, 
1568         "message": "somestring"
1569     }
1570
1571
1572
1573
1574
1575 DELETE ``/dr_pubs/{pubId}``
1576 ---------------------------
1577
1578
1579 Summary
1580 +++++++
1581
1582 return DR_Pub details
1583
1584 Description
1585 +++++++++++
1586
1587 .. raw:: html
1588
1589     delete a DR Publisher in the specified environment. Delete a `DR_Pub` object by pubId
1590
1591 Parameters
1592 ++++++++++
1593
1594 .. csv-table::
1595     :delim: |
1596     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
1597     :widths: 20, 15, 10, 10, 10, 20, 30
1598
1599         pubId | path | Yes | string |  |  | 
1600
1601
1602 Request
1603 +++++++
1604
1605
1606 Responses
1607 +++++++++
1608
1609 **200**
1610 ^^^^^^^
1611
1612 successful operation
1613
1614
1615 Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
1616
1617 **Example:**
1618
1619 .. code-block:: javascript
1620
1621     {
1622         "dcaeLocationName": "somestring", 
1623         "feedId": "somestring", 
1624         "lastMod": "2015-01-01T15:00:00.000Z", 
1625         "pubId": "somestring", 
1626         "status": "EMPTY", 
1627         "username": "somestring", 
1628         "userpwd": "somestring"
1629     }
1630
1631 **204**
1632 ^^^^^^^
1633
1634 Success
1635
1636
1637 Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
1638
1639 **Example:**
1640
1641 .. code-block:: javascript
1642
1643     {
1644         "dcaeLocationName": "somestring", 
1645         "feedId": "somestring", 
1646         "lastMod": "2015-01-01T15:00:00.000Z", 
1647         "pubId": "somestring", 
1648         "status": "EMPTY", 
1649         "username": "somestring", 
1650         "userpwd": "somestring"
1651     }
1652
1653 **400**
1654 ^^^^^^^
1655
1656 Error
1657
1658
1659 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1660
1661 **Example:**
1662
1663 .. code-block:: javascript
1664
1665     {
1666         "code": 1, 
1667         "fields": "somestring", 
1668         "is2xx": true, 
1669         "message": "somestring"
1670     }
1671
1672
1673
1674
1675
1676 GET ``/dr_pubs/{pubId}``
1677 ------------------------
1678
1679
1680 Summary
1681 +++++++
1682
1683 return DR_Pub details
1684
1685 Description
1686 +++++++++++
1687
1688 .. raw:: html
1689
1690     returns a DR Publisher in the specified environment. Gets a `DR_Pub` object by pubId
1691
1692 Parameters
1693 ++++++++++
1694
1695 .. csv-table::
1696     :delim: |
1697     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
1698     :widths: 20, 15, 10, 10, 10, 20, 30
1699
1700         pubId | path | Yes | string |  |  | 
1701
1702
1703 Request
1704 +++++++
1705
1706
1707 Responses
1708 +++++++++
1709
1710 **200**
1711 ^^^^^^^
1712
1713 Success
1714
1715
1716 Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
1717
1718 **Example:**
1719
1720 .. code-block:: javascript
1721
1722     {
1723         "dcaeLocationName": "somestring", 
1724         "feedId": "somestring", 
1725         "lastMod": "2015-01-01T15:00:00.000Z", 
1726         "pubId": "somestring", 
1727         "status": "EMPTY", 
1728         "username": "somestring", 
1729         "userpwd": "somestring"
1730     }
1731
1732 **400**
1733 ^^^^^^^
1734
1735 Error
1736
1737
1738 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1739
1740 **Example:**
1741
1742 .. code-block:: javascript
1743
1744     {
1745         "code": 1, 
1746         "fields": "somestring", 
1747         "is2xx": true, 
1748         "message": "somestring"
1749     }
1750
1751
1752
1753
1754
1755 GET ``/dr_pubs``
1756 ----------------
1757
1758
1759 Summary
1760 +++++++
1761
1762 return DR_Pub details
1763
1764 Description
1765 +++++++++++
1766
1767 .. raw:: html
1768
1769     Returns array of  `DR_Pub` objects.  Add filter for feedId.
1770
1771
1772 Request
1773 +++++++
1774
1775
1776 Responses
1777 +++++++++
1778
1779 **200**
1780 ^^^^^^^
1781
1782 Success
1783
1784
1785 Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
1786
1787 **Example:**
1788
1789 .. code-block:: javascript
1790
1791     {
1792         "dcaeLocationName": "somestring", 
1793         "feedId": "somestring", 
1794         "lastMod": "2015-01-01T15:00:00.000Z", 
1795         "pubId": "somestring", 
1796         "status": "EMPTY", 
1797         "username": "somestring", 
1798         "userpwd": "somestring"
1799     }
1800
1801 **400**
1802 ^^^^^^^
1803
1804 Error
1805
1806
1807 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1808
1809 **Example:**
1810
1811 .. code-block:: javascript
1812
1813     {
1814         "code": 1, 
1815         "fields": "somestring", 
1816         "is2xx": true, 
1817         "message": "somestring"
1818     }
1819
1820
1821
1822
1823
1824 PUT ``/dr_pubs/{pubId}``
1825 ------------------------
1826
1827
1828 Summary
1829 +++++++
1830
1831 return DR_Pub details
1832
1833 Description
1834 +++++++++++
1835
1836 .. raw:: html
1837
1838     update a DR Publisher in the specified environment.  Update a `DR_Pub` object by pubId
1839
1840 Parameters
1841 ++++++++++
1842
1843 .. csv-table::
1844     :delim: |
1845     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
1846     :widths: 20, 15, 10, 10, 10, 20, 30
1847
1848         pubId | path | Yes | string |  |  | 
1849
1850
1851 Request
1852 +++++++
1853
1854
1855 Responses
1856 +++++++++
1857
1858 **200**
1859 ^^^^^^^
1860
1861 Success
1862
1863
1864 Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
1865
1866 **Example:**
1867
1868 .. code-block:: javascript
1869
1870     {
1871         "dcaeLocationName": "somestring", 
1872         "feedId": "somestring", 
1873         "lastMod": "2015-01-01T15:00:00.000Z", 
1874         "pubId": "somestring", 
1875         "status": "EMPTY", 
1876         "username": "somestring", 
1877         "userpwd": "somestring"
1878     }
1879
1880 **400**
1881 ^^^^^^^
1882
1883 Error
1884
1885
1886 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1887
1888 **Example:**
1889
1890 .. code-block:: javascript
1891
1892     {
1893         "code": 1, 
1894         "fields": "somestring", 
1895         "is2xx": true, 
1896         "message": "somestring"
1897     }
1898
1899
1900
1901   
1902 DR_SUBS
1903 ~~~~~~~
1904
1905
1906 Endpoint for a Data Router client that implements a Subscriber
1907
1908
1909
1910
1911
1912 POST ``/dr_subs``
1913 -----------------
1914
1915
1916 Summary
1917 +++++++
1918
1919 return DR_Sub details
1920
1921 Description
1922 +++++++++++
1923
1924 .. raw:: html
1925
1926     Create a  `DR_Sub` object.  
1927
1928
1929 Request
1930 +++++++
1931
1932
1933 Responses
1934 +++++++++
1935
1936 **200**
1937 ^^^^^^^
1938
1939 Success
1940
1941
1942 Type: :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>`
1943
1944 **Example:**
1945
1946 .. code-block:: javascript
1947
1948     {
1949         "bytes": [
1950             "somestring", 
1951             "somestring"
1952         ], 
1953         "dcaeLocationName": "somestring", 
1954         "deliveryURL": "somestring", 
1955         "feedId": "somestring", 
1956         "lastMod": "2015-01-01T15:00:00.000Z", 
1957         "logURL": "somestring", 
1958         "owner": "somestring", 
1959         "status": "EMPTY", 
1960         "subId": "somestring", 
1961         "suspended": true, 
1962         "use100": true, 
1963         "username": "somestring", 
1964         "userpwd": "somestring"
1965     }
1966
1967 **400**
1968 ^^^^^^^
1969
1970 Error
1971
1972
1973 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
1974
1975 **Example:**
1976
1977 .. code-block:: javascript
1978
1979     {
1980         "code": 1, 
1981         "fields": "somestring", 
1982         "is2xx": true, 
1983         "message": "somestring"
1984     }
1985
1986
1987
1988
1989
1990 DELETE ``/dr_subs/{subId}``
1991 ---------------------------
1992
1993
1994 Summary
1995 +++++++
1996
1997 return DR_Sub details
1998
1999 Description
2000 +++++++++++
2001
2002 .. raw:: html
2003
2004     Delete a  `DR_Sub` object, selected by subId
2005
2006 Parameters
2007 ++++++++++
2008
2009 .. csv-table::
2010     :delim: |
2011     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
2012     :widths: 20, 15, 10, 10, 10, 20, 30
2013
2014         subId | path | Yes | string |  |  | 
2015
2016
2017 Request
2018 +++++++
2019
2020
2021 Responses
2022 +++++++++
2023
2024 **200**
2025 ^^^^^^^
2026
2027 Success
2028
2029
2030 Type: :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>`
2031
2032 **Example:**
2033
2034 .. code-block:: javascript
2035
2036     {
2037         "bytes": [
2038             "somestring", 
2039             "somestring"
2040         ], 
2041         "dcaeLocationName": "somestring", 
2042         "deliveryURL": "somestring", 
2043         "feedId": "somestring", 
2044         "lastMod": "2015-01-01T15:00:00.000Z", 
2045         "logURL": "somestring", 
2046         "owner": "somestring", 
2047         "status": "EMPTY", 
2048         "subId": "somestring", 
2049         "suspended": true, 
2050         "use100": true, 
2051         "username": "somestring", 
2052         "userpwd": "somestring"
2053     }
2054
2055 **400**
2056 ^^^^^^^
2057
2058 Error
2059
2060
2061 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
2062
2063 **Example:**
2064
2065 .. code-block:: javascript
2066
2067     {
2068         "code": 1, 
2069         "fields": "somestring", 
2070         "is2xx": true, 
2071         "message": "somestring"
2072     }
2073
2074
2075
2076
2077
2078 GET ``/dr_subs/{subId}``
2079 ------------------------
2080
2081
2082 Summary
2083 +++++++
2084
2085 return DR_Sub details
2086
2087 Description
2088 +++++++++++
2089
2090 .. raw:: html
2091
2092     Retrieve a  `DR_Sub` object, selected by subId
2093
2094 Parameters
2095 ++++++++++
2096
2097 .. csv-table::
2098     :delim: |
2099     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
2100     :widths: 20, 15, 10, 10, 10, 20, 30
2101
2102         subId | path | Yes | string |  |  | 
2103
2104
2105 Request
2106 +++++++
2107
2108
2109 Responses
2110 +++++++++
2111
2112 **200**
2113 ^^^^^^^
2114
2115 Success
2116
2117
2118 Type: :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>`
2119
2120 **Example:**
2121
2122 .. code-block:: javascript
2123
2124     {
2125         "bytes": [
2126             "somestring", 
2127             "somestring"
2128         ], 
2129         "dcaeLocationName": "somestring", 
2130         "deliveryURL": "somestring", 
2131         "feedId": "somestring", 
2132         "lastMod": "2015-01-01T15:00:00.000Z", 
2133         "logURL": "somestring", 
2134         "owner": "somestring", 
2135         "status": "EMPTY", 
2136         "subId": "somestring", 
2137         "suspended": true, 
2138         "use100": true, 
2139         "username": "somestring", 
2140         "userpwd": "somestring"
2141     }
2142
2143 **400**
2144 ^^^^^^^
2145
2146 Error
2147
2148
2149 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
2150
2151 **Example:**
2152
2153 .. code-block:: javascript
2154
2155     {
2156         "code": 1, 
2157         "fields": "somestring", 
2158         "is2xx": true, 
2159         "message": "somestring"
2160     }
2161
2162
2163
2164
2165
2166 GET ``/dr_subs``
2167 ----------------
2168
2169
2170 Summary
2171 +++++++
2172
2173 return DR_Sub details
2174
2175 Description
2176 +++++++++++
2177
2178 .. raw:: html
2179
2180     Returns array of  `DR_Sub` objects.  Add filter for feedId.
2181
2182
2183 Request
2184 +++++++
2185
2186
2187 Responses
2188 +++++++++
2189
2190 **200**
2191 ^^^^^^^
2192
2193 Success
2194
2195
2196 Type: :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>`
2197
2198 **Example:**
2199
2200 .. code-block:: javascript
2201
2202     {
2203         "bytes": [
2204             "somestring", 
2205             "somestring"
2206         ], 
2207         "dcaeLocationName": "somestring", 
2208         "deliveryURL": "somestring", 
2209         "feedId": "somestring", 
2210         "lastMod": "2015-01-01T15:00:00.000Z", 
2211         "logURL": "somestring", 
2212         "owner": "somestring", 
2213         "status": "EMPTY", 
2214         "subId": "somestring", 
2215         "suspended": true, 
2216         "use100": true, 
2217         "username": "somestring", 
2218         "userpwd": "somestring"
2219     }
2220
2221 **400**
2222 ^^^^^^^
2223
2224 Error
2225
2226
2227 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
2228
2229 **Example:**
2230
2231 .. code-block:: javascript
2232
2233     {
2234         "code": 1, 
2235         "fields": "somestring", 
2236         "is2xx": true, 
2237         "message": "somestring"
2238     }
2239
2240
2241
2242
2243
2244 PUT ``/dr_subs/{subId}``
2245 ------------------------
2246
2247
2248 Summary
2249 +++++++
2250
2251 return DR_Sub details
2252
2253 Description
2254 +++++++++++
2255
2256 .. raw:: html
2257
2258     Update a  `DR_Sub` object, selected by subId
2259
2260 Parameters
2261 ++++++++++
2262
2263 .. csv-table::
2264     :delim: |
2265     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
2266     :widths: 20, 15, 10, 10, 10, 20, 30
2267
2268         subId | path | Yes | string |  |  | 
2269
2270
2271 Request
2272 +++++++
2273
2274
2275 Responses
2276 +++++++++
2277
2278 **200**
2279 ^^^^^^^
2280
2281 Success
2282
2283
2284 Type: :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>`
2285
2286 **Example:**
2287
2288 .. code-block:: javascript
2289
2290     {
2291         "bytes": [
2292             "somestring", 
2293             "somestring"
2294         ], 
2295         "dcaeLocationName": "somestring", 
2296         "deliveryURL": "somestring", 
2297         "feedId": "somestring", 
2298         "lastMod": "2015-01-01T15:00:00.000Z", 
2299         "logURL": "somestring", 
2300         "owner": "somestring", 
2301         "status": "EMPTY", 
2302         "subId": "somestring", 
2303         "suspended": true, 
2304         "use100": true, 
2305         "username": "somestring", 
2306         "userpwd": "somestring"
2307     }
2308
2309 **400**
2310 ^^^^^^^
2311
2312 Error
2313
2314
2315 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
2316
2317 **Example:**
2318
2319 .. code-block:: javascript
2320
2321     {
2322         "code": 1, 
2323         "fields": "somestring", 
2324         "is2xx": true, 
2325         "message": "somestring"
2326     }
2327
2328
2329
2330   
2331 FEEDS
2332 ~~~~~
2333
2334
2335 Endpoint for a Data Router Feed
2336
2337
2338
2339
2340
2341 POST ``/feeds``
2342 ---------------
2343
2344
2345 Summary
2346 +++++++
2347
2348 return Feed details
2349
2350 Description
2351 +++++++++++
2352
2353 .. raw:: html
2354
2355     Create a of  `Feed` object.
2356
2357 Parameters
2358 ++++++++++
2359
2360 .. csv-table::
2361     :delim: |
2362     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
2363     :widths: 20, 15, 10, 10, 10, 20, 30
2364
2365         useExisting | query | No | string |  |  | 
2366
2367
2368 Request
2369 +++++++
2370
2371
2372 Responses
2373 +++++++++
2374
2375 **200**
2376 ^^^^^^^
2377
2378 Success
2379
2380
2381 Type: :ref:`Feed <d_289ad39619725df26c9ff382d4c97c75>`
2382
2383 **Example:**
2384
2385 .. code-block:: javascript
2386
2387     {
2388         "asprClassification": "somestring", 
2389         "bytes": [
2390             "somestring", 
2391             "somestring"
2392         ], 
2393         "feedDescription": "somestring", 
2394         "feedId": "somestring", 
2395         "feedName": "somestring", 
2396         "feedVersion": "somestring", 
2397         "formatUuid": "somestring", 
2398         "lastMod": "2015-01-01T15:00:00.000Z", 
2399         "logURL": "somestring", 
2400         "owner": "somestring", 
2401         "publishURL": "somestring", 
2402         "pubs": [
2403             {
2404                 "dcaeLocationName": "somestring", 
2405                 "feedId": "somestring", 
2406                 "lastMod": "2015-01-01T15:00:00.000Z", 
2407                 "pubId": "somestring", 
2408                 "status": "EMPTY", 
2409                 "username": "somestring", 
2410                 "userpwd": "somestring"
2411             }, 
2412             {
2413                 "dcaeLocationName": "somestring", 
2414                 "feedId": "somestring", 
2415                 "lastMod": "2015-01-01T15:00:00.000Z", 
2416                 "pubId": "somestring", 
2417                 "status": "EMPTY", 
2418                 "username": "somestring", 
2419                 "userpwd": "somestring"
2420             }
2421         ], 
2422         "status": "EMPTY", 
2423         "subs": [
2424             {
2425                 "bytes": [
2426                     "somestring", 
2427                     "somestring"
2428                 ], 
2429                 "dcaeLocationName": "somestring", 
2430                 "deliveryURL": "somestring", 
2431                 "feedId": "somestring", 
2432                 "lastMod": "2015-01-01T15:00:00.000Z", 
2433                 "logURL": "somestring", 
2434                 "owner": "somestring", 
2435                 "status": "EMPTY", 
2436                 "subId": "somestring", 
2437                 "suspended": true, 
2438                 "use100": true, 
2439                 "username": "somestring", 
2440                 "userpwd": "somestring"
2441             }, 
2442             {
2443                 "bytes": [
2444                     "somestring", 
2445                     "somestring"
2446                 ], 
2447                 "dcaeLocationName": "somestring", 
2448                 "deliveryURL": "somestring", 
2449                 "feedId": "somestring", 
2450                 "lastMod": "2015-01-01T15:00:00.000Z", 
2451                 "logURL": "somestring", 
2452                 "owner": "somestring", 
2453                 "status": "EMPTY", 
2454                 "subId": "somestring", 
2455                 "suspended": true, 
2456                 "use100": true, 
2457                 "username": "somestring", 
2458                 "userpwd": "somestring"
2459             }
2460         ], 
2461         "subscribeURL": "somestring", 
2462         "suspended": true
2463     }
2464
2465 **400**
2466 ^^^^^^^
2467
2468 Error
2469
2470
2471 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
2472
2473 **Example:**
2474
2475 .. code-block:: javascript
2476
2477     {
2478         "code": 1, 
2479         "fields": "somestring", 
2480         "is2xx": true, 
2481         "message": "somestring"
2482     }
2483
2484
2485
2486
2487
2488 DELETE ``/feeds/{id}``
2489 ----------------------
2490
2491
2492 Summary
2493 +++++++
2494
2495 return Feed details
2496
2497 Description
2498 +++++++++++
2499
2500 .. raw:: html
2501
2502     Delete a  `Feed` object, specified by id.
2503
2504 Parameters
2505 ++++++++++
2506
2507 .. csv-table::
2508     :delim: |
2509     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
2510     :widths: 20, 15, 10, 10, 10, 20, 30
2511
2512         id | path | Yes | string |  |  | 
2513
2514
2515 Request
2516 +++++++
2517
2518
2519 Responses
2520 +++++++++
2521
2522 **200**
2523 ^^^^^^^
2524
2525 successful operation
2526
2527
2528 Type: :ref:`Feed <d_289ad39619725df26c9ff382d4c97c75>`
2529
2530 **Example:**
2531
2532 .. code-block:: javascript
2533
2534     {
2535         "asprClassification": "somestring", 
2536         "bytes": [
2537             "somestring", 
2538             "somestring"
2539         ], 
2540         "feedDescription": "somestring", 
2541         "feedId": "somestring", 
2542         "feedName": "somestring", 
2543         "feedVersion": "somestring", 
2544         "formatUuid": "somestring", 
2545         "lastMod": "2015-01-01T15:00:00.000Z", 
2546         "logURL": "somestring", 
2547         "owner": "somestring", 
2548         "publishURL": "somestring", 
2549         "pubs": [
2550             {
2551                 "dcaeLocationName": "somestring", 
2552                 "feedId": "somestring", 
2553                 "lastMod": "2015-01-01T15:00:00.000Z", 
2554                 "pubId": "somestring", 
2555                 "status": "EMPTY", 
2556                 "username": "somestring", 
2557                 "userpwd": "somestring"
2558             }, 
2559             {
2560                 "dcaeLocationName": "somestring", 
2561                 "feedId": "somestring", 
2562                 "lastMod": "2015-01-01T15:00:00.000Z", 
2563                 "pubId": "somestring", 
2564                 "status": "EMPTY", 
2565                 "username": "somestring", 
2566                 "userpwd": "somestring"
2567             }
2568         ], 
2569         "status": "EMPTY", 
2570         "subs": [
2571             {
2572                 "bytes": [
2573                     "somestring", 
2574                     "somestring"
2575                 ], 
2576                 "dcaeLocationName": "somestring", 
2577                 "deliveryURL": "somestring", 
2578                 "feedId": "somestring", 
2579                 "lastMod": "2015-01-01T15:00:00.000Z", 
2580                 "logURL": "somestring", 
2581                 "owner": "somestring", 
2582                 "status": "EMPTY", 
2583                 "subId": "somestring", 
2584                 "suspended": true, 
2585                 "use100": true, 
2586                 "username": "somestring", 
2587                 "userpwd": "somestring"
2588             }, 
2589             {
2590                 "bytes": [
2591                     "somestring", 
2592                     "somestring"
2593                 ], 
2594                 "dcaeLocationName": "somestring", 
2595                 "deliveryURL": "somestring", 
2596                 "feedId": "somestring", 
2597                 "lastMod": "2015-01-01T15:00:00.000Z", 
2598                 "logURL": "somestring", 
2599                 "owner": "somestring", 
2600                 "status": "EMPTY", 
2601                 "subId": "somestring", 
2602                 "suspended": true, 
2603                 "use100": true, 
2604                 "username": "somestring", 
2605                 "userpwd": "somestring"
2606             }
2607         ], 
2608         "subscribeURL": "somestring", 
2609         "suspended": true
2610     }
2611
2612 **204**
2613 ^^^^^^^
2614
2615 Success
2616
2617
2618 Type: :ref:`Feed <d_289ad39619725df26c9ff382d4c97c75>`
2619
2620 **Example:**
2621
2622 .. code-block:: javascript
2623
2624     {
2625         "asprClassification": "somestring", 
2626         "bytes": [
2627             "somestring", 
2628             "somestring"
2629         ], 
2630         "feedDescription": "somestring", 
2631         "feedId": "somestring", 
2632         "feedName": "somestring", 
2633         "feedVersion": "somestring", 
2634         "formatUuid": "somestring", 
2635         "lastMod": "2015-01-01T15:00:00.000Z", 
2636         "logURL": "somestring", 
2637         "owner": "somestring", 
2638         "publishURL": "somestring", 
2639         "pubs": [
2640             {
2641                 "dcaeLocationName": "somestring", 
2642                 "feedId": "somestring", 
2643                 "lastMod": "2015-01-01T15:00:00.000Z", 
2644                 "pubId": "somestring", 
2645                 "status": "EMPTY", 
2646                 "username": "somestring", 
2647                 "userpwd": "somestring"
2648             }, 
2649             {
2650                 "dcaeLocationName": "somestring", 
2651                 "feedId": "somestring", 
2652                 "lastMod": "2015-01-01T15:00:00.000Z", 
2653                 "pubId": "somestring", 
2654                 "status": "EMPTY", 
2655                 "username": "somestring", 
2656                 "userpwd": "somestring"
2657             }
2658         ], 
2659         "status": "EMPTY", 
2660         "subs": [
2661             {
2662                 "bytes": [
2663                     "somestring", 
2664                     "somestring"
2665                 ], 
2666                 "dcaeLocationName": "somestring", 
2667                 "deliveryURL": "somestring", 
2668                 "feedId": "somestring", 
2669                 "lastMod": "2015-01-01T15:00:00.000Z", 
2670                 "logURL": "somestring", 
2671                 "owner": "somestring", 
2672                 "status": "EMPTY", 
2673                 "subId": "somestring", 
2674                 "suspended": true, 
2675                 "use100": true, 
2676                 "username": "somestring", 
2677                 "userpwd": "somestring"
2678             }, 
2679             {
2680                 "bytes": [
2681                     "somestring", 
2682                     "somestring"
2683                 ], 
2684                 "dcaeLocationName": "somestring", 
2685                 "deliveryURL": "somestring", 
2686                 "feedId": "somestring", 
2687                 "lastMod": "2015-01-01T15:00:00.000Z", 
2688                 "logURL": "somestring", 
2689                 "owner": "somestring", 
2690                 "status": "EMPTY", 
2691                 "subId": "somestring", 
2692                 "suspended": true, 
2693                 "use100": true, 
2694                 "username": "somestring", 
2695                 "userpwd": "somestring"
2696             }
2697         ], 
2698         "subscribeURL": "somestring", 
2699         "suspended": true
2700     }
2701
2702 **400**
2703 ^^^^^^^
2704
2705 Error
2706
2707
2708 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
2709
2710 **Example:**
2711
2712 .. code-block:: javascript
2713
2714     {
2715         "code": 1, 
2716         "fields": "somestring", 
2717         "is2xx": true, 
2718         "message": "somestring"
2719     }
2720
2721
2722
2723
2724
2725 GET ``/feeds/{id}``
2726 -------------------
2727
2728
2729 Summary
2730 +++++++
2731
2732 return Feed details
2733
2734 Description
2735 +++++++++++
2736
2737 .. raw:: html
2738
2739     Retrieve a  `Feed` object, specified by id.
2740
2741 Parameters
2742 ++++++++++
2743
2744 .. csv-table::
2745     :delim: |
2746     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
2747     :widths: 20, 15, 10, 10, 10, 20, 30
2748
2749         id | path | Yes | string |  |  | 
2750
2751
2752 Request
2753 +++++++
2754
2755
2756 Responses
2757 +++++++++
2758
2759 **200**
2760 ^^^^^^^
2761
2762 Success
2763
2764
2765 Type: :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>`
2766
2767 **Example:**
2768
2769 .. code-block:: javascript
2770
2771     {
2772         "dcaeLocationName": "somestring", 
2773         "feedId": "somestring", 
2774         "lastMod": "2015-01-01T15:00:00.000Z", 
2775         "pubId": "somestring", 
2776         "status": "EMPTY", 
2777         "username": "somestring", 
2778         "userpwd": "somestring"
2779     }
2780
2781 **400**
2782 ^^^^^^^
2783
2784 Error
2785
2786
2787 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
2788
2789 **Example:**
2790
2791 .. code-block:: javascript
2792
2793     {
2794         "code": 1, 
2795         "fields": "somestring", 
2796         "is2xx": true, 
2797         "message": "somestring"
2798     }
2799
2800
2801
2802
2803
2804 GET ``/feeds``
2805 --------------
2806
2807
2808 Summary
2809 +++++++
2810
2811 return Feed details
2812
2813 Description
2814 +++++++++++
2815
2816 .. raw:: html
2817
2818     Returns array of  `Feed` objects.
2819
2820 Parameters
2821 ++++++++++
2822
2823 .. csv-table::
2824     :delim: |
2825     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
2826     :widths: 20, 15, 10, 10, 10, 20, 30
2827
2828         feedName | query | No | string |  |  | 
2829         version | query | No | string |  |  | 
2830         match | query | No | string |  |  | 
2831
2832
2833 Request
2834 +++++++
2835
2836
2837 Responses
2838 +++++++++
2839
2840 **200**
2841 ^^^^^^^
2842
2843 Success
2844
2845
2846 Type: :ref:`Feed <d_289ad39619725df26c9ff382d4c97c75>`
2847
2848 **Example:**
2849
2850 .. code-block:: javascript
2851
2852     {
2853         "asprClassification": "somestring", 
2854         "bytes": [
2855             "somestring", 
2856             "somestring"
2857         ], 
2858         "feedDescription": "somestring", 
2859         "feedId": "somestring", 
2860         "feedName": "somestring", 
2861         "feedVersion": "somestring", 
2862         "formatUuid": "somestring", 
2863         "lastMod": "2015-01-01T15:00:00.000Z", 
2864         "logURL": "somestring", 
2865         "owner": "somestring", 
2866         "publishURL": "somestring", 
2867         "pubs": [
2868             {
2869                 "dcaeLocationName": "somestring", 
2870                 "feedId": "somestring", 
2871                 "lastMod": "2015-01-01T15:00:00.000Z", 
2872                 "pubId": "somestring", 
2873                 "status": "EMPTY", 
2874                 "username": "somestring", 
2875                 "userpwd": "somestring"
2876             }, 
2877             {
2878                 "dcaeLocationName": "somestring", 
2879                 "feedId": "somestring", 
2880                 "lastMod": "2015-01-01T15:00:00.000Z", 
2881                 "pubId": "somestring", 
2882                 "status": "EMPTY", 
2883                 "username": "somestring", 
2884                 "userpwd": "somestring"
2885             }
2886         ], 
2887         "status": "EMPTY", 
2888         "subs": [
2889             {
2890                 "bytes": [
2891                     "somestring", 
2892                     "somestring"
2893                 ], 
2894                 "dcaeLocationName": "somestring", 
2895                 "deliveryURL": "somestring", 
2896                 "feedId": "somestring", 
2897                 "lastMod": "2015-01-01T15:00:00.000Z", 
2898                 "logURL": "somestring", 
2899                 "owner": "somestring", 
2900                 "status": "EMPTY", 
2901                 "subId": "somestring", 
2902                 "suspended": true, 
2903                 "use100": true, 
2904                 "username": "somestring", 
2905                 "userpwd": "somestring"
2906             }, 
2907             {
2908                 "bytes": [
2909                     "somestring", 
2910                     "somestring"
2911                 ], 
2912                 "dcaeLocationName": "somestring", 
2913                 "deliveryURL": "somestring", 
2914                 "feedId": "somestring", 
2915                 "lastMod": "2015-01-01T15:00:00.000Z", 
2916                 "logURL": "somestring", 
2917                 "owner": "somestring", 
2918                 "status": "EMPTY", 
2919                 "subId": "somestring", 
2920                 "suspended": true, 
2921                 "use100": true, 
2922                 "username": "somestring", 
2923                 "userpwd": "somestring"
2924             }
2925         ], 
2926         "subscribeURL": "somestring", 
2927         "suspended": true
2928     }
2929
2930 **400**
2931 ^^^^^^^
2932
2933 Error
2934
2935
2936 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
2937
2938 **Example:**
2939
2940 .. code-block:: javascript
2941
2942     {
2943         "code": 1, 
2944         "fields": "somestring", 
2945         "is2xx": true, 
2946         "message": "somestring"
2947     }
2948
2949
2950
2951
2952
2953 PUT ``/feeds/{id}``
2954 -------------------
2955
2956
2957 Summary
2958 +++++++
2959
2960 return Feed details
2961
2962 Description
2963 +++++++++++
2964
2965 .. raw:: html
2966
2967     Update a  `Feed` object, specified by id.
2968
2969 Parameters
2970 ++++++++++
2971
2972 .. csv-table::
2973     :delim: |
2974     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
2975     :widths: 20, 15, 10, 10, 10, 20, 30
2976
2977         id | path | Yes | string |  |  | 
2978
2979
2980 Request
2981 +++++++
2982
2983
2984 Responses
2985 +++++++++
2986
2987 **200**
2988 ^^^^^^^
2989
2990 Success
2991
2992
2993 Type: :ref:`Feed <d_289ad39619725df26c9ff382d4c97c75>`
2994
2995 **Example:**
2996
2997 .. code-block:: javascript
2998
2999     {
3000         "asprClassification": "somestring", 
3001         "bytes": [
3002             "somestring", 
3003             "somestring"
3004         ], 
3005         "feedDescription": "somestring", 
3006         "feedId": "somestring", 
3007         "feedName": "somestring", 
3008         "feedVersion": "somestring", 
3009         "formatUuid": "somestring", 
3010         "lastMod": "2015-01-01T15:00:00.000Z", 
3011         "logURL": "somestring", 
3012         "owner": "somestring", 
3013         "publishURL": "somestring", 
3014         "pubs": [
3015             {
3016                 "dcaeLocationName": "somestring", 
3017                 "feedId": "somestring", 
3018                 "lastMod": "2015-01-01T15:00:00.000Z", 
3019                 "pubId": "somestring", 
3020                 "status": "EMPTY", 
3021                 "username": "somestring", 
3022                 "userpwd": "somestring"
3023             }, 
3024             {
3025                 "dcaeLocationName": "somestring", 
3026                 "feedId": "somestring", 
3027                 "lastMod": "2015-01-01T15:00:00.000Z", 
3028                 "pubId": "somestring", 
3029                 "status": "EMPTY", 
3030                 "username": "somestring", 
3031                 "userpwd": "somestring"
3032             }
3033         ], 
3034         "status": "EMPTY", 
3035         "subs": [
3036             {
3037                 "bytes": [
3038                     "somestring", 
3039                     "somestring"
3040                 ], 
3041                 "dcaeLocationName": "somestring", 
3042                 "deliveryURL": "somestring", 
3043                 "feedId": "somestring", 
3044                 "lastMod": "2015-01-01T15:00:00.000Z", 
3045                 "logURL": "somestring", 
3046                 "owner": "somestring", 
3047                 "status": "EMPTY", 
3048                 "subId": "somestring", 
3049                 "suspended": true, 
3050                 "use100": true, 
3051                 "username": "somestring", 
3052                 "userpwd": "somestring"
3053             }, 
3054             {
3055                 "bytes": [
3056                     "somestring", 
3057                     "somestring"
3058                 ], 
3059                 "dcaeLocationName": "somestring", 
3060                 "deliveryURL": "somestring", 
3061                 "feedId": "somestring", 
3062                 "lastMod": "2015-01-01T15:00:00.000Z", 
3063                 "logURL": "somestring", 
3064                 "owner": "somestring", 
3065                 "status": "EMPTY", 
3066                 "subId": "somestring", 
3067                 "suspended": true, 
3068                 "use100": true, 
3069                 "username": "somestring", 
3070                 "userpwd": "somestring"
3071             }
3072         ], 
3073         "subscribeURL": "somestring", 
3074         "suspended": true
3075     }
3076
3077 **400**
3078 ^^^^^^^
3079
3080 Error
3081
3082
3083 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
3084
3085 **Example:**
3086
3087 .. code-block:: javascript
3088
3089     {
3090         "code": 1, 
3091         "fields": "somestring", 
3092         "is2xx": true, 
3093         "message": "somestring"
3094     }
3095
3096
3097
3098   
3099 INFO
3100 ~~~~
3101
3102
3103 Endpoint for this instance of DBCL.  Returns health info.
3104
3105
3106
3107
3108
3109 GET ``/info``
3110 -------------
3111
3112
3113 Summary
3114 +++++++
3115
3116 return info details
3117
3118 Description
3119 +++++++++++
3120
3121 .. raw:: html
3122
3123     returns the `info` object
3124
3125
3126 Request
3127 +++++++
3128
3129
3130 Responses
3131 +++++++++
3132
3133 **200**
3134 ^^^^^^^
3135
3136 Success
3137
3138
3139 Type: :ref:`Dmaap <d_4ea0e7758a1f8502222793e4a13b04f7>`
3140
3141 **Example:**
3142
3143 .. code-block:: javascript
3144
3145     {
3146         "accessKeyOwner": "somestring", 
3147         "bridgeAdminTopic": "somestring", 
3148         "dmaapName": "somestring", 
3149         "drProvUrl": "somestring", 
3150         "lastMod": "2015-01-01T15:00:00.000Z", 
3151         "loggingUrl": "somestring", 
3152         "nodeKey": "somestring", 
3153         "status": "EMPTY", 
3154         "topicNsRoot": "somestring", 
3155         "version": "somestring"
3156     }
3157
3158 **400**
3159 ^^^^^^^
3160
3161 Error
3162
3163
3164 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
3165
3166 **Example:**
3167
3168 .. code-block:: javascript
3169
3170     {
3171         "code": 1, 
3172         "fields": "somestring", 
3173         "is2xx": true, 
3174         "message": "somestring"
3175     }
3176
3177
3178
3179   
3180 MR_CLIENTS
3181 ~~~~~~~~~~
3182
3183
3184 Endpoint for a Message Router Client that implements a Publisher or a Subscriber
3185
3186
3187
3188
3189
3190 POST ``/mr_clients``
3191 --------------------
3192
3193
3194 Summary
3195 +++++++
3196
3197 Associate an MR_Client object to a Topic
3198
3199 Description
3200 +++++++++++
3201
3202 .. raw:: html
3203
3204     Create a  `MR_Client` object.The `dcaeLocation` attribute is used to match an `MR_Cluster` object with the same value, with the intent of localizing message traffic.  In legacy implementation, the `clientRole` is granted appropriate permission in AAF.  Newer implementions may instead specify an AAF Identity, which will be added to the appropriate `Topic` role.
3205
3206
3207 Request
3208 +++++++
3209
3210
3211 Responses
3212 +++++++++
3213
3214 **200**
3215 ^^^^^^^
3216
3217 Success
3218
3219
3220 Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
3221
3222 **Example:**
3223
3224 .. code-block:: javascript
3225
3226     {
3227         "action": [
3228             "somestring", 
3229             "somestring"
3230         ], 
3231         "clientIdentity": "somestring", 
3232         "clientRole": "somestring", 
3233         "dcaeLocationName": "somestring", 
3234         "fqtn": "somestring", 
3235         "lastMod": "2015-01-01T15:00:00.000Z", 
3236         "mrClientId": "somestring", 
3237         "status": "EMPTY", 
3238         "topicURL": "somestring"
3239     }
3240
3241 **400**
3242 ^^^^^^^
3243
3244 Error
3245
3246
3247 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
3248
3249 **Example:**
3250
3251 .. code-block:: javascript
3252
3253     {
3254         "code": 1, 
3255         "fields": "somestring", 
3256         "is2xx": true, 
3257         "message": "somestring"
3258     }
3259
3260
3261
3262
3263
3264 DELETE ``/mr_clients/{subId}``
3265 ------------------------------
3266
3267
3268 Summary
3269 +++++++
3270
3271 Delete an MR_Client object
3272
3273 Description
3274 +++++++++++
3275
3276 .. raw:: html
3277
3278     Delete a  `MR_Client` object, specified by clientId
3279
3280 Parameters
3281 ++++++++++
3282
3283 .. csv-table::
3284     :delim: |
3285     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
3286     :widths: 20, 15, 10, 10, 10, 20, 30
3287
3288         subId | path | Yes | string |  |  | 
3289
3290
3291 Request
3292 +++++++
3293
3294
3295 Responses
3296 +++++++++
3297
3298 **200**
3299 ^^^^^^^
3300
3301 successful operation
3302
3303
3304 Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
3305
3306 **Example:**
3307
3308 .. code-block:: javascript
3309
3310     {
3311         "action": [
3312             "somestring", 
3313             "somestring"
3314         ], 
3315         "clientIdentity": "somestring", 
3316         "clientRole": "somestring", 
3317         "dcaeLocationName": "somestring", 
3318         "fqtn": "somestring", 
3319         "lastMod": "2015-01-01T15:00:00.000Z", 
3320         "mrClientId": "somestring", 
3321         "status": "EMPTY", 
3322         "topicURL": "somestring"
3323     }
3324
3325 **204**
3326 ^^^^^^^
3327
3328 Success
3329
3330
3331 Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
3332
3333 **Example:**
3334
3335 .. code-block:: javascript
3336
3337     {
3338         "action": [
3339             "somestring", 
3340             "somestring"
3341         ], 
3342         "clientIdentity": "somestring", 
3343         "clientRole": "somestring", 
3344         "dcaeLocationName": "somestring", 
3345         "fqtn": "somestring", 
3346         "lastMod": "2015-01-01T15:00:00.000Z", 
3347         "mrClientId": "somestring", 
3348         "status": "EMPTY", 
3349         "topicURL": "somestring"
3350     }
3351
3352 **400**
3353 ^^^^^^^
3354
3355 Error
3356
3357
3358 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
3359
3360 **Example:**
3361
3362 .. code-block:: javascript
3363
3364     {
3365         "code": 1, 
3366         "fields": "somestring", 
3367         "is2xx": true, 
3368         "message": "somestring"
3369     }
3370
3371
3372
3373
3374
3375 GET ``/mr_clients``
3376 -------------------
3377
3378
3379 Summary
3380 +++++++
3381
3382 return MR_Client details
3383
3384 Description
3385 +++++++++++
3386
3387 .. raw:: html
3388
3389     Returns array of  `MR_Client` objects.
3390
3391
3392 Request
3393 +++++++
3394
3395
3396 Responses
3397 +++++++++
3398
3399 **200**
3400 ^^^^^^^
3401
3402 Success
3403
3404
3405 Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
3406
3407 **Example:**
3408
3409 .. code-block:: javascript
3410
3411     {
3412         "action": [
3413             "somestring", 
3414             "somestring"
3415         ], 
3416         "clientIdentity": "somestring", 
3417         "clientRole": "somestring", 
3418         "dcaeLocationName": "somestring", 
3419         "fqtn": "somestring", 
3420         "lastMod": "2015-01-01T15:00:00.000Z", 
3421         "mrClientId": "somestring", 
3422         "status": "EMPTY", 
3423         "topicURL": "somestring"
3424     }
3425
3426 **400**
3427 ^^^^^^^
3428
3429 Error
3430
3431
3432 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
3433
3434 **Example:**
3435
3436 .. code-block:: javascript
3437
3438     {
3439         "code": 1, 
3440         "fields": "somestring", 
3441         "is2xx": true, 
3442         "message": "somestring"
3443     }
3444
3445
3446
3447
3448
3449 GET ``/mr_clients/{subId}``
3450 ---------------------------
3451
3452
3453 Summary
3454 +++++++
3455
3456 return MR_Client details
3457
3458 Description
3459 +++++++++++
3460
3461 .. raw:: html
3462
3463     Retrieve a  `MR_Client` object, specified by clientId
3464
3465 Parameters
3466 ++++++++++
3467
3468 .. csv-table::
3469     :delim: |
3470     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
3471     :widths: 20, 15, 10, 10, 10, 20, 30
3472
3473         subId | path | Yes | string |  |  | 
3474
3475
3476 Request
3477 +++++++
3478
3479
3480 Responses
3481 +++++++++
3482
3483 **200**
3484 ^^^^^^^
3485
3486 Success
3487
3488
3489 Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
3490
3491 **Example:**
3492
3493 .. code-block:: javascript
3494
3495     {
3496         "action": [
3497             "somestring", 
3498             "somestring"
3499         ], 
3500         "clientIdentity": "somestring", 
3501         "clientRole": "somestring", 
3502         "dcaeLocationName": "somestring", 
3503         "fqtn": "somestring", 
3504         "lastMod": "2015-01-01T15:00:00.000Z", 
3505         "mrClientId": "somestring", 
3506         "status": "EMPTY", 
3507         "topicURL": "somestring"
3508     }
3509
3510 **400**
3511 ^^^^^^^
3512
3513 Error
3514
3515
3516 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
3517
3518 **Example:**
3519
3520 .. code-block:: javascript
3521
3522     {
3523         "code": 1, 
3524         "fields": "somestring", 
3525         "is2xx": true, 
3526         "message": "somestring"
3527     }
3528
3529
3530
3531
3532
3533 PUT ``/mr_clients/{clientId}``
3534 ------------------------------
3535
3536
3537 Summary
3538 +++++++
3539
3540 Update an MR_Client object
3541
3542 Description
3543 +++++++++++
3544
3545 .. raw:: html
3546
3547     Update a  `MR_Client` object, specified by clientId
3548
3549 Parameters
3550 ++++++++++
3551
3552 .. csv-table::
3553     :delim: |
3554     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
3555     :widths: 20, 15, 10, 10, 10, 20, 30
3556
3557         clientId | path | Yes | string |  |  | 
3558
3559
3560 Request
3561 +++++++
3562
3563
3564 Responses
3565 +++++++++
3566
3567 **200**
3568 ^^^^^^^
3569
3570 Success
3571
3572
3573 Type: :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>`
3574
3575 **Example:**
3576
3577 .. code-block:: javascript
3578
3579     {
3580         "action": [
3581             "somestring", 
3582             "somestring"
3583         ], 
3584         "clientIdentity": "somestring", 
3585         "clientRole": "somestring", 
3586         "dcaeLocationName": "somestring", 
3587         "fqtn": "somestring", 
3588         "lastMod": "2015-01-01T15:00:00.000Z", 
3589         "mrClientId": "somestring", 
3590         "status": "EMPTY", 
3591         "topicURL": "somestring"
3592     }
3593
3594 **400**
3595 ^^^^^^^
3596
3597 Error
3598
3599
3600 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
3601
3602 **Example:**
3603
3604 .. code-block:: javascript
3605
3606     {
3607         "code": 1, 
3608         "fields": "somestring", 
3609         "is2xx": true, 
3610         "message": "somestring"
3611     }
3612
3613
3614
3615   
3616 MR_CLUSTERS
3617 ~~~~~~~~~~~
3618
3619
3620 Endpoint for a Message Router servers in a Cluster configuration
3621
3622
3623
3624
3625
3626 POST ``/mr_clusters``
3627 ---------------------
3628
3629
3630 Summary
3631 +++++++
3632
3633 return MR_Cluster details
3634
3635 Description
3636 +++++++++++
3637
3638 .. raw:: html
3639
3640     Create an  `MR_Cluster` object.
3641
3642
3643 Request
3644 +++++++
3645
3646
3647 Responses
3648 +++++++++
3649
3650 **200**
3651 ^^^^^^^
3652
3653 Success
3654
3655
3656 Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
3657
3658 **Example:**
3659
3660 .. code-block:: javascript
3661
3662     {
3663         "dcaeLocationName": "somestring", 
3664         "fqdn": "somestring", 
3665         "lastMod": "2015-01-01T15:00:00.000Z", 
3666         "replicationGroup": "somestring", 
3667         "sourceReplicationPort": "somestring", 
3668         "status": "EMPTY", 
3669         "targetReplicationPort": "somestring", 
3670         "topicPort": "somestring", 
3671         "topicProtocol": "somestring"
3672     }
3673
3674 **400**
3675 ^^^^^^^
3676
3677 Error
3678
3679
3680 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
3681
3682 **Example:**
3683
3684 .. code-block:: javascript
3685
3686     {
3687         "code": 1, 
3688         "fields": "somestring", 
3689         "is2xx": true, 
3690         "message": "somestring"
3691     }
3692
3693
3694
3695
3696
3697 DELETE ``/mr_clusters/{clusterId}``
3698 -----------------------------------
3699
3700
3701 Summary
3702 +++++++
3703
3704 return MR_Cluster details
3705
3706 Description
3707 +++++++++++
3708
3709 .. raw:: html
3710
3711     Delete an  `MR_Cluster` object, specified by clusterId.
3712
3713 Parameters
3714 ++++++++++
3715
3716 .. csv-table::
3717     :delim: |
3718     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
3719     :widths: 20, 15, 10, 10, 10, 20, 30
3720
3721         clusterId | path | Yes | string |  |  | 
3722
3723
3724 Request
3725 +++++++
3726
3727
3728 Responses
3729 +++++++++
3730
3731 **200**
3732 ^^^^^^^
3733
3734 successful operation
3735
3736
3737 Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
3738
3739 **Example:**
3740
3741 .. code-block:: javascript
3742
3743     {
3744         "dcaeLocationName": "somestring", 
3745         "fqdn": "somestring", 
3746         "lastMod": "2015-01-01T15:00:00.000Z", 
3747         "replicationGroup": "somestring", 
3748         "sourceReplicationPort": "somestring", 
3749         "status": "EMPTY", 
3750         "targetReplicationPort": "somestring", 
3751         "topicPort": "somestring", 
3752         "topicProtocol": "somestring"
3753     }
3754
3755 **204**
3756 ^^^^^^^
3757
3758 Success
3759
3760
3761 Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
3762
3763 **Example:**
3764
3765 .. code-block:: javascript
3766
3767     {
3768         "dcaeLocationName": "somestring", 
3769         "fqdn": "somestring", 
3770         "lastMod": "2015-01-01T15:00:00.000Z", 
3771         "replicationGroup": "somestring", 
3772         "sourceReplicationPort": "somestring", 
3773         "status": "EMPTY", 
3774         "targetReplicationPort": "somestring", 
3775         "topicPort": "somestring", 
3776         "topicProtocol": "somestring"
3777     }
3778
3779 **400**
3780 ^^^^^^^
3781
3782 Error
3783
3784
3785 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
3786
3787 **Example:**
3788
3789 .. code-block:: javascript
3790
3791     {
3792         "code": 1, 
3793         "fields": "somestring", 
3794         "is2xx": true, 
3795         "message": "somestring"
3796     }
3797
3798
3799
3800
3801
3802 GET ``/mr_clusters/{clusterId}``
3803 --------------------------------
3804
3805
3806 Summary
3807 +++++++
3808
3809 return MR_Cluster details
3810
3811 Description
3812 +++++++++++
3813
3814 .. raw:: html
3815
3816     Retrieve an  `MR_Cluster` object, specified by clusterId.
3817
3818 Parameters
3819 ++++++++++
3820
3821 .. csv-table::
3822     :delim: |
3823     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
3824     :widths: 20, 15, 10, 10, 10, 20, 30
3825
3826         clusterId | path | Yes | string |  |  | 
3827
3828
3829 Request
3830 +++++++
3831
3832
3833 Responses
3834 +++++++++
3835
3836 **200**
3837 ^^^^^^^
3838
3839 Success
3840
3841
3842 Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
3843
3844 **Example:**
3845
3846 .. code-block:: javascript
3847
3848     {
3849         "dcaeLocationName": "somestring", 
3850         "fqdn": "somestring", 
3851         "lastMod": "2015-01-01T15:00:00.000Z", 
3852         "replicationGroup": "somestring", 
3853         "sourceReplicationPort": "somestring", 
3854         "status": "EMPTY", 
3855         "targetReplicationPort": "somestring", 
3856         "topicPort": "somestring", 
3857         "topicProtocol": "somestring"
3858     }
3859
3860 **400**
3861 ^^^^^^^
3862
3863 Error
3864
3865
3866 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
3867
3868 **Example:**
3869
3870 .. code-block:: javascript
3871
3872     {
3873         "code": 1, 
3874         "fields": "somestring", 
3875         "is2xx": true, 
3876         "message": "somestring"
3877     }
3878
3879
3880
3881
3882
3883 GET ``/mr_clusters``
3884 --------------------
3885
3886
3887 Summary
3888 +++++++
3889
3890 return MR_Cluster details
3891
3892 Description
3893 +++++++++++
3894
3895 .. raw:: html
3896
3897     Returns array of  `MR_Cluster` objects.
3898
3899
3900 Request
3901 +++++++
3902
3903
3904 Responses
3905 +++++++++
3906
3907 **200**
3908 ^^^^^^^
3909
3910 Success
3911
3912
3913 Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
3914
3915 **Example:**
3916
3917 .. code-block:: javascript
3918
3919     {
3920         "dcaeLocationName": "somestring", 
3921         "fqdn": "somestring", 
3922         "lastMod": "2015-01-01T15:00:00.000Z", 
3923         "replicationGroup": "somestring", 
3924         "sourceReplicationPort": "somestring", 
3925         "status": "EMPTY", 
3926         "targetReplicationPort": "somestring", 
3927         "topicPort": "somestring", 
3928         "topicProtocol": "somestring"
3929     }
3930
3931 **400**
3932 ^^^^^^^
3933
3934 Error
3935
3936
3937 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
3938
3939 **Example:**
3940
3941 .. code-block:: javascript
3942
3943     {
3944         "code": 1, 
3945         "fields": "somestring", 
3946         "is2xx": true, 
3947         "message": "somestring"
3948     }
3949
3950
3951
3952
3953
3954 PUT ``/mr_clusters/{clusterId}``
3955 --------------------------------
3956
3957
3958 Summary
3959 +++++++
3960
3961 return MR_Cluster details
3962
3963 Description
3964 +++++++++++
3965
3966 .. raw:: html
3967
3968     Update an  `MR_Cluster` object, specified by clusterId.
3969
3970 Parameters
3971 ++++++++++
3972
3973 .. csv-table::
3974     :delim: |
3975     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
3976     :widths: 20, 15, 10, 10, 10, 20, 30
3977
3978         clusterId | path | Yes | string |  |  | 
3979
3980
3981 Request
3982 +++++++
3983
3984
3985 Responses
3986 +++++++++
3987
3988 **200**
3989 ^^^^^^^
3990
3991 Success
3992
3993
3994 Type: :ref:`MR_Cluster <d_eec7176a0080debe1b19c2dad2e97c24>`
3995
3996 **Example:**
3997
3998 .. code-block:: javascript
3999
4000     {
4001         "dcaeLocationName": "somestring", 
4002         "fqdn": "somestring", 
4003         "lastMod": "2015-01-01T15:00:00.000Z", 
4004         "replicationGroup": "somestring", 
4005         "sourceReplicationPort": "somestring", 
4006         "status": "EMPTY", 
4007         "targetReplicationPort": "somestring", 
4008         "topicPort": "somestring", 
4009         "topicProtocol": "somestring"
4010     }
4011
4012 **400**
4013 ^^^^^^^
4014
4015 Error
4016
4017
4018 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
4019
4020 **Example:**
4021
4022 .. code-block:: javascript
4023
4024     {
4025         "code": 1, 
4026         "fields": "somestring", 
4027         "is2xx": true, 
4028         "message": "somestring"
4029     }
4030
4031
4032
4033   
4034 TOPICS
4035 ~~~~~~
4036
4037
4038 Endpoint for retreiving MR Topics
4039
4040
4041
4042
4043
4044 POST ``/topics``
4045 ----------------
4046
4047
4048 Summary
4049 +++++++
4050
4051 Create a Topic object
4052
4053 Description
4054 +++++++++++
4055
4056 .. raw:: html
4057
4058     Create  `Topic` object.For convenience, the message body may populate the `clients` array, in which case each entry will be added as an `MR_Client`.  Beginning in ONAP Dublin Release, dbcapi will create two AAF Roles by default, one each for the publisher and subscriber per topic.  MR_Clients can then specify an AAF Identity to be added to the appropriate default Role, avoiding the need to create Role(s) in advance.
4059
4060 Parameters
4061 ++++++++++
4062
4063 .. csv-table::
4064     :delim: |
4065     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
4066     :widths: 20, 15, 10, 10, 10, 20, 30
4067
4068         useExisting | query | No | string |  |  | 
4069
4070
4071 Request
4072 +++++++
4073
4074
4075 Responses
4076 +++++++++
4077
4078 **200**
4079 ^^^^^^^
4080
4081 Success
4082
4083
4084 Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
4085
4086 **Example:**
4087
4088 .. code-block:: javascript
4089
4090     {
4091         "clients": [
4092             {
4093                 "action": [
4094                     "somestring", 
4095                     "somestring"
4096                 ], 
4097                 "clientIdentity": "somestring", 
4098                 "clientRole": "somestring", 
4099                 "dcaeLocationName": "somestring", 
4100                 "fqtn": "somestring", 
4101                 "lastMod": "2015-01-01T15:00:00.000Z", 
4102                 "mrClientId": "somestring", 
4103                 "status": "EMPTY", 
4104                 "topicURL": "somestring"
4105             }, 
4106             {
4107                 "action": [
4108                     "somestring", 
4109                     "somestring"
4110                 ], 
4111                 "clientIdentity": "somestring", 
4112                 "clientRole": "somestring", 
4113                 "dcaeLocationName": "somestring", 
4114                 "fqtn": "somestring", 
4115                 "lastMod": "2015-01-01T15:00:00.000Z", 
4116                 "mrClientId": "somestring", 
4117                 "status": "EMPTY", 
4118                 "topicURL": "somestring"
4119             }
4120         ], 
4121         "formatUuid": "somestring", 
4122         "fqtn": "somestring", 
4123         "fqtnStyle": "FQTN_NOT_SPECIFIED", 
4124         "globalMrURL": "somestring", 
4125         "lastMod": "2015-01-01T15:00:00.000Z", 
4126         "owner": "somestring", 
4127         "partitionCount": "somestring", 
4128         "publisherRole": "somestring", 
4129         "replicationCase": "REPLICATION_NOT_SPECIFIED", 
4130         "replicationCount": "somestring", 
4131         "status": "EMPTY", 
4132         "subscriberRole": "somestring", 
4133         "tnxEnabled": "somestring", 
4134         "topicDescription": "somestring", 
4135         "topicName": "somestring", 
4136         "version": "somestring"
4137     }
4138
4139 **400**
4140 ^^^^^^^
4141
4142 Error
4143
4144
4145 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
4146
4147 **Example:**
4148
4149 .. code-block:: javascript
4150
4151     {
4152         "code": 1, 
4153         "fields": "somestring", 
4154         "is2xx": true, 
4155         "message": "somestring"
4156     }
4157
4158
4159
4160
4161
4162 DELETE ``/topics/{topicId}``
4163 ----------------------------
4164
4165
4166 Summary
4167 +++++++
4168
4169 return Topic details
4170
4171 Description
4172 +++++++++++
4173
4174 .. raw:: html
4175
4176     Delete a  `Topic` object, identified by topicId
4177
4178 Parameters
4179 ++++++++++
4180
4181 .. csv-table::
4182     :delim: |
4183     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
4184     :widths: 20, 15, 10, 10, 10, 20, 30
4185
4186         topicId | path | Yes | string |  |  | 
4187
4188
4189 Request
4190 +++++++
4191
4192
4193 Responses
4194 +++++++++
4195
4196 **200**
4197 ^^^^^^^
4198
4199 successful operation
4200
4201
4202 Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
4203
4204 **Example:**
4205
4206 .. code-block:: javascript
4207
4208     {
4209         "clients": [
4210             {
4211                 "action": [
4212                     "somestring", 
4213                     "somestring"
4214                 ], 
4215                 "clientIdentity": "somestring", 
4216                 "clientRole": "somestring", 
4217                 "dcaeLocationName": "somestring", 
4218                 "fqtn": "somestring", 
4219                 "lastMod": "2015-01-01T15:00:00.000Z", 
4220                 "mrClientId": "somestring", 
4221                 "status": "EMPTY", 
4222                 "topicURL": "somestring"
4223             }, 
4224             {
4225                 "action": [
4226                     "somestring", 
4227                     "somestring"
4228                 ], 
4229                 "clientIdentity": "somestring", 
4230                 "clientRole": "somestring", 
4231                 "dcaeLocationName": "somestring", 
4232                 "fqtn": "somestring", 
4233                 "lastMod": "2015-01-01T15:00:00.000Z", 
4234                 "mrClientId": "somestring", 
4235                 "status": "EMPTY", 
4236                 "topicURL": "somestring"
4237             }
4238         ], 
4239         "formatUuid": "somestring", 
4240         "fqtn": "somestring", 
4241         "fqtnStyle": "FQTN_NOT_SPECIFIED", 
4242         "globalMrURL": "somestring", 
4243         "lastMod": "2015-01-01T15:00:00.000Z", 
4244         "owner": "somestring", 
4245         "partitionCount": "somestring", 
4246         "publisherRole": "somestring", 
4247         "replicationCase": "REPLICATION_NOT_SPECIFIED", 
4248         "replicationCount": "somestring", 
4249         "status": "EMPTY", 
4250         "subscriberRole": "somestring", 
4251         "tnxEnabled": "somestring", 
4252         "topicDescription": "somestring", 
4253         "topicName": "somestring", 
4254         "version": "somestring"
4255     }
4256
4257 **204**
4258 ^^^^^^^
4259
4260 Success
4261
4262
4263 Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
4264
4265 **Example:**
4266
4267 .. code-block:: javascript
4268
4269     {
4270         "clients": [
4271             {
4272                 "action": [
4273                     "somestring", 
4274                     "somestring"
4275                 ], 
4276                 "clientIdentity": "somestring", 
4277                 "clientRole": "somestring", 
4278                 "dcaeLocationName": "somestring", 
4279                 "fqtn": "somestring", 
4280                 "lastMod": "2015-01-01T15:00:00.000Z", 
4281                 "mrClientId": "somestring", 
4282                 "status": "EMPTY", 
4283                 "topicURL": "somestring"
4284             }, 
4285             {
4286                 "action": [
4287                     "somestring", 
4288                     "somestring"
4289                 ], 
4290                 "clientIdentity": "somestring", 
4291                 "clientRole": "somestring", 
4292                 "dcaeLocationName": "somestring", 
4293                 "fqtn": "somestring", 
4294                 "lastMod": "2015-01-01T15:00:00.000Z", 
4295                 "mrClientId": "somestring", 
4296                 "status": "EMPTY", 
4297                 "topicURL": "somestring"
4298             }
4299         ], 
4300         "formatUuid": "somestring", 
4301         "fqtn": "somestring", 
4302         "fqtnStyle": "FQTN_NOT_SPECIFIED", 
4303         "globalMrURL": "somestring", 
4304         "lastMod": "2015-01-01T15:00:00.000Z", 
4305         "owner": "somestring", 
4306         "partitionCount": "somestring", 
4307         "publisherRole": "somestring", 
4308         "replicationCase": "REPLICATION_NOT_SPECIFIED", 
4309         "replicationCount": "somestring", 
4310         "status": "EMPTY", 
4311         "subscriberRole": "somestring", 
4312         "tnxEnabled": "somestring", 
4313         "topicDescription": "somestring", 
4314         "topicName": "somestring", 
4315         "version": "somestring"
4316     }
4317
4318 **400**
4319 ^^^^^^^
4320
4321 Error
4322
4323
4324 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
4325
4326 **Example:**
4327
4328 .. code-block:: javascript
4329
4330     {
4331         "code": 1, 
4332         "fields": "somestring", 
4333         "is2xx": true, 
4334         "message": "somestring"
4335     }
4336
4337
4338
4339
4340
4341 GET ``/topics/{topicId}``
4342 -------------------------
4343
4344
4345 Summary
4346 +++++++
4347
4348 return Topic details
4349
4350 Description
4351 +++++++++++
4352
4353 .. raw:: html
4354
4355     Retrieve a  `Topic` object, identified by topicId
4356
4357 Parameters
4358 ++++++++++
4359
4360 .. csv-table::
4361     :delim: |
4362     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
4363     :widths: 20, 15, 10, 10, 10, 20, 30
4364
4365         topicId | path | Yes | string |  |  | 
4366
4367
4368 Request
4369 +++++++
4370
4371
4372 Responses
4373 +++++++++
4374
4375 **200**
4376 ^^^^^^^
4377
4378 Success
4379
4380
4381 Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
4382
4383 **Example:**
4384
4385 .. code-block:: javascript
4386
4387     {
4388         "clients": [
4389             {
4390                 "action": [
4391                     "somestring", 
4392                     "somestring"
4393                 ], 
4394                 "clientIdentity": "somestring", 
4395                 "clientRole": "somestring", 
4396                 "dcaeLocationName": "somestring", 
4397                 "fqtn": "somestring", 
4398                 "lastMod": "2015-01-01T15:00:00.000Z", 
4399                 "mrClientId": "somestring", 
4400                 "status": "EMPTY", 
4401                 "topicURL": "somestring"
4402             }, 
4403             {
4404                 "action": [
4405                     "somestring", 
4406                     "somestring"
4407                 ], 
4408                 "clientIdentity": "somestring", 
4409                 "clientRole": "somestring", 
4410                 "dcaeLocationName": "somestring", 
4411                 "fqtn": "somestring", 
4412                 "lastMod": "2015-01-01T15:00:00.000Z", 
4413                 "mrClientId": "somestring", 
4414                 "status": "EMPTY", 
4415                 "topicURL": "somestring"
4416             }
4417         ], 
4418         "formatUuid": "somestring", 
4419         "fqtn": "somestring", 
4420         "fqtnStyle": "FQTN_NOT_SPECIFIED", 
4421         "globalMrURL": "somestring", 
4422         "lastMod": "2015-01-01T15:00:00.000Z", 
4423         "owner": "somestring", 
4424         "partitionCount": "somestring", 
4425         "publisherRole": "somestring", 
4426         "replicationCase": "REPLICATION_NOT_SPECIFIED", 
4427         "replicationCount": "somestring", 
4428         "status": "EMPTY", 
4429         "subscriberRole": "somestring", 
4430         "tnxEnabled": "somestring", 
4431         "topicDescription": "somestring", 
4432         "topicName": "somestring", 
4433         "version": "somestring"
4434     }
4435
4436 **400**
4437 ^^^^^^^
4438
4439 Error
4440
4441
4442 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
4443
4444 **Example:**
4445
4446 .. code-block:: javascript
4447
4448     {
4449         "code": 1, 
4450         "fields": "somestring", 
4451         "is2xx": true, 
4452         "message": "somestring"
4453     }
4454
4455
4456
4457
4458
4459 GET ``/topics``
4460 ---------------
4461
4462
4463 Summary
4464 +++++++
4465
4466 return Topic details
4467
4468 Description
4469 +++++++++++
4470
4471 .. raw:: html
4472
4473     Returns array of  `Topic` objects.
4474
4475
4476 Request
4477 +++++++
4478
4479
4480 Responses
4481 +++++++++
4482
4483 **200**
4484 ^^^^^^^
4485
4486 Success
4487
4488
4489 Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
4490
4491 **Example:**
4492
4493 .. code-block:: javascript
4494
4495     {
4496         "clients": [
4497             {
4498                 "action": [
4499                     "somestring", 
4500                     "somestring"
4501                 ], 
4502                 "clientIdentity": "somestring", 
4503                 "clientRole": "somestring", 
4504                 "dcaeLocationName": "somestring", 
4505                 "fqtn": "somestring", 
4506                 "lastMod": "2015-01-01T15:00:00.000Z", 
4507                 "mrClientId": "somestring", 
4508                 "status": "EMPTY", 
4509                 "topicURL": "somestring"
4510             }, 
4511             {
4512                 "action": [
4513                     "somestring", 
4514                     "somestring"
4515                 ], 
4516                 "clientIdentity": "somestring", 
4517                 "clientRole": "somestring", 
4518                 "dcaeLocationName": "somestring", 
4519                 "fqtn": "somestring", 
4520                 "lastMod": "2015-01-01T15:00:00.000Z", 
4521                 "mrClientId": "somestring", 
4522                 "status": "EMPTY", 
4523                 "topicURL": "somestring"
4524             }
4525         ], 
4526         "formatUuid": "somestring", 
4527         "fqtn": "somestring", 
4528         "fqtnStyle": "FQTN_NOT_SPECIFIED", 
4529         "globalMrURL": "somestring", 
4530         "lastMod": "2015-01-01T15:00:00.000Z", 
4531         "owner": "somestring", 
4532         "partitionCount": "somestring", 
4533         "publisherRole": "somestring", 
4534         "replicationCase": "REPLICATION_NOT_SPECIFIED", 
4535         "replicationCount": "somestring", 
4536         "status": "EMPTY", 
4537         "subscriberRole": "somestring", 
4538         "tnxEnabled": "somestring", 
4539         "topicDescription": "somestring", 
4540         "topicName": "somestring", 
4541         "version": "somestring"
4542     }
4543
4544 **400**
4545 ^^^^^^^
4546
4547 Error
4548
4549
4550 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
4551
4552 **Example:**
4553
4554 .. code-block:: javascript
4555
4556     {
4557         "code": 1, 
4558         "fields": "somestring", 
4559         "is2xx": true, 
4560         "message": "somestring"
4561     }
4562
4563
4564
4565
4566
4567 PUT ``/topics/{topicId}``
4568 -------------------------
4569
4570
4571 Summary
4572 +++++++
4573
4574 return Topic details
4575
4576 Description
4577 +++++++++++
4578
4579 .. raw:: html
4580
4581     Update a  `Topic` object, identified by topicId
4582
4583 Parameters
4584 ++++++++++
4585
4586 .. csv-table::
4587     :delim: |
4588     :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
4589     :widths: 20, 15, 10, 10, 10, 20, 30
4590
4591         topicId | path | Yes | string |  |  | 
4592
4593
4594 Request
4595 +++++++
4596
4597
4598 Responses
4599 +++++++++
4600
4601 **200**
4602 ^^^^^^^
4603
4604 Success
4605
4606
4607 Type: :ref:`Topic <d_2e99841971da81b9d240071b86bf168d>`
4608
4609 **Example:**
4610
4611 .. code-block:: javascript
4612
4613     {
4614         "clients": [
4615             {
4616                 "action": [
4617                     "somestring", 
4618                     "somestring"
4619                 ], 
4620                 "clientIdentity": "somestring", 
4621                 "clientRole": "somestring", 
4622                 "dcaeLocationName": "somestring", 
4623                 "fqtn": "somestring", 
4624                 "lastMod": "2015-01-01T15:00:00.000Z", 
4625                 "mrClientId": "somestring", 
4626                 "status": "EMPTY", 
4627                 "topicURL": "somestring"
4628             }, 
4629             {
4630                 "action": [
4631                     "somestring", 
4632                     "somestring"
4633                 ], 
4634                 "clientIdentity": "somestring", 
4635                 "clientRole": "somestring", 
4636                 "dcaeLocationName": "somestring", 
4637                 "fqtn": "somestring", 
4638                 "lastMod": "2015-01-01T15:00:00.000Z", 
4639                 "mrClientId": "somestring", 
4640                 "status": "EMPTY", 
4641                 "topicURL": "somestring"
4642             }
4643         ], 
4644         "formatUuid": "somestring", 
4645         "fqtn": "somestring", 
4646         "fqtnStyle": "FQTN_NOT_SPECIFIED", 
4647         "globalMrURL": "somestring", 
4648         "lastMod": "2015-01-01T15:00:00.000Z", 
4649         "owner": "somestring", 
4650         "partitionCount": "somestring", 
4651         "publisherRole": "somestring", 
4652         "replicationCase": "REPLICATION_NOT_SPECIFIED", 
4653         "replicationCount": "somestring", 
4654         "status": "EMPTY", 
4655         "subscriberRole": "somestring", 
4656         "tnxEnabled": "somestring", 
4657         "topicDescription": "somestring", 
4658         "topicName": "somestring", 
4659         "version": "somestring"
4660     }
4661
4662 **400**
4663 ^^^^^^^
4664
4665 Error
4666
4667
4668 Type: :ref:`ApiError <d_a3a7580ce9d87225d7f62e6b67b4d036>`
4669
4670 **Example:**
4671
4672 .. code-block:: javascript
4673
4674     {
4675         "code": 1, 
4676         "fields": "somestring", 
4677         "is2xx": true, 
4678         "message": "somestring"
4679     }
4680
4681
4682
4683   
4684 Data Structures
4685 ~~~~~~~~~~~~~~~
4686
4687 .. _d_a3a7580ce9d87225d7f62e6b67b4d036:
4688
4689 ApiError Model Structure
4690 ------------------------
4691
4692 .. csv-table::
4693     :delim: |
4694     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4695     :widths: 20, 10, 15, 15, 30, 25
4696
4697         code | No | integer | int32 |  | 
4698         fields | No | string |  |  | 
4699         is2xx | No | boolean |  |  | 
4700         message | No | string |  |  | 
4701
4702 .. _d_d71baea9d8e4e59bc395ef51f45dff1b:
4703
4704 BrTopic Model Structure
4705 -----------------------
4706
4707 .. csv-table::
4708     :delim: |
4709     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4710     :widths: 20, 10, 15, 15, 30, 25
4711
4712         brSource | No | string |  |  | 
4713         brTarget | No | string |  |  | 
4714         mmAgentName | No | string |  |  | 
4715         topicCount | No | integer | int32 |  | 
4716
4717 .. _d_d15e2cee407536866c875375e3f705e0:
4718
4719 DR_Node Model Structure
4720 -----------------------
4721
4722 .. csv-table::
4723     :delim: |
4724     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4725     :widths: 20, 10, 15, 15, 30, 25
4726
4727         dcaeLocationName | No | string |  |  | 
4728         fqdn | No | string |  |  | 
4729         hostName | No | string |  |  | 
4730         lastMod | No | string | date-time |  | datestamp for last update to this object
4731         status | No | string |  | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} | 
4732         version | No | string |  |  | 
4733
4734 .. _d_e926d3fa8701e0cc9c8ed1761b3255cd:
4735
4736 DR_Pub Model Structure
4737 ----------------------
4738
4739 .. csv-table::
4740     :delim: |
4741     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4742     :widths: 20, 10, 15, 15, 30, 25
4743
4744         dcaeLocationName | No | string |  |  | 
4745         feedId | No | string |  |  | 
4746         lastMod | No | string | date-time |  | datestamp for last update to this object
4747         pubId | No | string |  |  | 
4748         status | No | string |  | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} | 
4749         username | No | string |  |  | 
4750         userpwd | No | string |  |  | 
4751
4752 .. _d_48cf328d246f41e1d11a09251b042f02:
4753
4754 DR_Sub Model Structure
4755 ----------------------
4756
4757 .. csv-table::
4758     :delim: |
4759     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4760     :widths: 20, 10, 15, 15, 30, 25
4761
4762         bytes | No | array of string |  |  | 
4763         dcaeLocationName | No | string |  |  | 
4764         deliveryURL | No | string |  |  | 
4765         feedId | No | string |  |  | 
4766         lastMod | No | string | date-time |  | datestamp for last update to this object
4767         logURL | No | string |  |  | 
4768         owner | No | string |  |  | 
4769         status | No | string |  | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} | 
4770         subId | No | string |  |  | 
4771         suspended | No | boolean |  |  | 
4772         use100 | No | boolean |  |  | 
4773         username | No | string |  |  | 
4774         userpwd | No | string |  |  | 
4775
4776 .. _d_47d80e451933beb623fcf5257867cbcb:
4777
4778 DcaeLocation Model Structure
4779 ----------------------------
4780
4781 .. csv-table::
4782     :delim: |
4783     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4784     :widths: 20, 10, 15, 15, 30, 25
4785
4786         central | No | boolean |  |  | 
4787         clli | No | string |  |  | 
4788         dcaeLayer | No | string |  |  | 
4789         dcaeLocationName | No | string |  |  | 
4790         lastMod | No | string | date-time |  | datestamp for last update to this object
4791         local | No | boolean |  |  | 
4792         openStackAvailabilityZone | No | string |  |  | 
4793         status | No | string |  | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} | 
4794         subnet | No | string |  |  | 
4795
4796 .. _d_4ea0e7758a1f8502222793e4a13b04f7:
4797
4798 Dmaap Model Structure
4799 ---------------------
4800
4801 .. csv-table::
4802     :delim: |
4803     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4804     :widths: 20, 10, 15, 15, 30, 25
4805
4806         accessKeyOwner | No | string |  |  | 
4807         bridgeAdminTopic | No | string |  |  | 
4808         dmaapName | No | string |  |  | 
4809         drProvUrl | No | string |  |  | 
4810         lastMod | No | string | date-time |  | datestamp for last update to this object
4811         loggingUrl | No | string |  |  | 
4812         nodeKey | No | string |  |  | 
4813         status | No | string |  | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} | 
4814         topicNsRoot | No | string |  |  | 
4815         version | No | string |  |  | 
4816
4817 .. _d_289ad39619725df26c9ff382d4c97c75:
4818
4819 Feed Model Structure
4820 --------------------
4821
4822 .. csv-table::
4823     :delim: |
4824     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4825     :widths: 20, 10, 15, 15, 30, 25
4826
4827         asprClassification | No | string |  |  | 
4828         bytes | No | array of string |  |  | 
4829         feedDescription | No | string |  |  | 
4830         feedId | No | string |  |  | 
4831         feedName | No | string |  |  | 
4832         feedVersion | No | string |  |  | 
4833         formatUuid | No | string |  |  | 
4834         lastMod | No | string | date-time |  | datestamp for last update to this object
4835         logURL | No | string |  |  | 
4836         owner | No | string |  |  | 
4837         publishURL | No | string |  |  | 
4838         pubs | No | array of :ref:`DR_Pub <d_e926d3fa8701e0cc9c8ed1761b3255cd>` |  |  | 
4839         status | No | string |  | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} | 
4840         subs | No | array of :ref:`DR_Sub <d_48cf328d246f41e1d11a09251b042f02>` |  |  | 
4841         subscribeURL | No | string |  |  | 
4842         suspended | No | boolean |  |  | 
4843
4844 .. _d_56ff81dc98986e27074d9be2731e3f4c:
4845
4846 MR_Client Model Structure
4847 -------------------------
4848
4849 .. csv-table::
4850     :delim: |
4851     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4852     :widths: 20, 10, 15, 15, 30, 25
4853
4854         action | No | array of string |  |  | one or more actions from the set ('pub', 'sub', 'view') for which this client needs Permission
4855         clientIdentity | No | string |  |  | an AAF identity to be associated to an appropriate topic Role
4856         clientRole | No | string |  |  | an AAF Role to be granted an appropriate Permission.  If specified, takes precedence over clientIdentity, for backwards compatibility.
4857         dcaeLocationName | No | string |  |  | a tag indicating a logical deployment site
4858         fqtn | No | string |  |  | Fully Qualified Topic Name constructed by dbcapi
4859         lastMod | No | string | date-time |  | datestamp for last update to this object
4860         mrClientId | No | string |  |  | a unique identifier generated by dbcapi for this client
4861         status | No | string |  | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} | 
4862         topicURL | No | string |  |  | the URL for a MR instance - typically in the same dcaeLocation - that this client should use to access the topic
4863
4864 .. _d_eec7176a0080debe1b19c2dad2e97c24:
4865
4866 MR_Cluster Model Structure
4867 --------------------------
4868
4869 .. csv-table::
4870     :delim: |
4871     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4872     :widths: 20, 10, 15, 15, 30, 25
4873
4874         dcaeLocationName | No | string |  |  | 
4875         fqdn | No | string |  |  | 
4876         lastMod | No | string | date-time |  | 
4877         replicationGroup | No | string |  |  | 
4878         sourceReplicationPort | No | string |  |  | 
4879         status | No | string |  | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} | 
4880         targetReplicationPort | No | string |  |  | 
4881         topicPort | No | string |  |  | 
4882         topicProtocol | No | string |  |  | 
4883
4884 .. _d_08fb211d40d6deb9b6e04b000fd988e4:
4885
4886 MirrorMaker Model Structure
4887 ---------------------------
4888
4889 .. csv-table::
4890     :delim: |
4891     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4892     :widths: 20, 10, 15, 15, 30, 25
4893
4894         lastMod | No | string | date-time |  | datestamp for last update to this object
4895         mmName | No | string |  |  | 
4896         sourceCluster | No | string |  |  | 
4897         status | No | string |  | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} | 
4898         targetCluster | No | string |  |  | 
4899         topicCount | No | integer | int32 |  | 
4900         topics | No | array of string |  |  | 
4901         whitelistUpdateJSON | No | string |  |  | 
4902
4903 .. _d_2e99841971da81b9d240071b86bf168d:
4904
4905 Topic Model Structure
4906 ---------------------
4907
4908 .. csv-table::
4909     :delim: |
4910     :header: "Name", "Required", "Type", "Format", "Properties", "Description"
4911     :widths: 20, 10, 15, 15, 30, 25
4912
4913         clients | No | array of :ref:`MR_Client <d_56ff81dc98986e27074d9be2731e3f4c>` |  |  | an array of `MR_Client` objects associated to this `Topic`
4914         formatUuid | No | string |  |  | a reference to an identifier that describes a data format used for this `Topic`
4915         fqtn | No | string |  |  | Fully Qualified Topic Name constructed by dbcapi, following the rules for `fqtnStyle`
4916         fqtnStyle | No | string |  | {'enum': ['FQTN_NOT_SPECIFIED', 'FQTN_LEGACY_FORMAT', 'FQTN_PROJECTID_FORMAT', 'FQTN_PROJECTID_VERSION_FORMAT']} | the construction rule for the `fqtn` field
4917         globalMrURL | No | string |  |  | the URL of an outside MR instance
4918         lastMod | No | string | date-time |  | datestamp for last update to this object
4919         owner | No | string |  |  | a label used to identify who requested this `Topic` to be provisioned.  In the future this may be an AAF Identity.
4920         partitionCount | No | string |  |  | the kafka attribute for specifying the number of partitions
4921         publisherRole | No | string |  |  | a value generated by dbcapi, this AAF Role has permission to publish to this `Topic`
4922         replicationCase | No | string |  | {'enum': ['REPLICATION_NOT_SPECIFIED', 'REPLICATION_NONE', 'REPLICATION_EDGE_TO_CENTRAL', 'REPLICATION_EDGE_TO_CENTRAL_TO_GLOBAL', 'REPLICATION_CENTRAL_TO_EDGE', 'REPLICATION_CENTRAL_TO_GLOBAL', 'REPLICATION_GLOBAL_TO_CENTRAL', 'REPLICATION_GLOBAL_TO_CENTRAL_TO_EDGE', 'REPLICATION_EDGE_TO_FQDN', 'REPLICATION_FQDN_TO_EDGE', 'REPLICATION_FQDN_TO_GLOBAL', 'REPLICATION_GLOBAL_TO_FQDN', 'REPLICATION_EDGE_TO_FQDN_TO_GLOBAL', 'REPLICATION_GLOBAL_TO_FQDN_TO_EDGE']} | An indicator for how this `Topic` should be replicated when there are more than one `MR_Cluster` instances
4923         replicationCount | No | string |  |  | the kafka attribute for specifying replication within an `MR_Cluster` instance
4924         status | No | string |  | {'enum': ['EMPTY', 'NEW', 'STAGED', 'VALID', 'INVALID', 'DELETED']} | 
4925         subscriberRole | No | string |  |  | a value generated by dbcapi, this AAF Role has permission to subscribe to this `Topic`
4926         tnxEnabled | No | string |  |  | 
4927         topicDescription | No | string |  |  | a description of what this Topic is used for
4928         topicName | No | string |  |  | the short name used by humans, and utilized to construct the `FQTN`
4929         version | No | string |  |  | a hook for any versioning needed for managing a `Topic` over time
4930
4931 Security
4932 ~~~~~~~~
4933 As default security is in Dmaap Bus Controller disabled.
4934
4935 Enable
4936 ------
4937 Settings to turn on security is in file dmaapbc.properties. The file is located in OOM project in path: ./oom/kubernetes/dmaap/components/dmaap-bc/resources/config/dmaapbc.properties
4938 During deployment the the file is placed into ConfigMap XXX-dmaap-bus-controller-config (XXX depend on deployment setup). The config map is linked to volume with read only permission so it can not be changed from pod level.
4939 Ater updating ConfigMap the bus controller pod needs to be restarted.
4940
4941 Settings
4942 ++++++++
4943
4944 In the dmaapbc.properties for security settings there is a main flag:
4945
4946 1.UseAAF: true
4947
4948 If set to true then creating topic also will create required perms in AAF. The perms will be created in org.onap.dmaap.mr.
4949 The last element -mr- is related to another setting - MR.projectID .
4950
4951 Example:
4952   Topic name:
4953     aSimpleTopic
4954   Permitions
4955     org.onap.dmaap.mr.topic|:topic.org.onap.dmaap.mr.aSimpleTopic|pub
4956     org.onap.dmaap.mr.topic|:topic.org.onap.dmaap.mr.aSimpleTopic|sub
4957     org.onap.dmaap.mr.topic|:topic.org.onap.dmaap.mr.aSimpleTopic|view
4958
4959
4960 Hint: User defined in the certificate of cadi (property:cadi.properties, user:dmaap-bc@dmaap-bc.onap.org) needs to have permissions to create and view such topics (org.onap.dmaap.mr.topic|*|*).
4961
4962
4963 Authentication is using CADI
4964
4965 CADI confilguration is stored in CADI files. Location of the files is defined in varaible:
4966 cadi.properties: /opt/app/osaaf/local/org.onap.dmaap-bc.props
4967
4968 The configuration is a mandatory and missing parameter or file cause exception.
4969
4970 Authorization is done by CADI - configuration is required as above
4971
4972 Call to bus controller needs to have given user credentials. The user ich checked in AAF for permission to call topic.
4973 The check is done in org.onap.dmaap-bc.api according to ApiNamespace setting.
4974
4975 Hint: User defined in the certificate of cadi (property:cadi.properties, user:dmaap-bc@dmaap-bc.onap.org) needs to have permission to read the namespace (org.onap.dmaap-bc.api.access|*|read).
4976
4977
4978 2.UseAAF: false
4979
4980 For backward compatibility, if AAF flag is turned off the previous implementation is enabled based on AuthorizationFilter and ApiPermission class.
4981 This filter switching has been made due to the technology differences: Jersey filters do not implement directly servlet API, but CADI filter is based on it.