[AAI-2404]add aai-schema-abstraction library
[aai/aai-common.git] / aai-schema-abstraction / src / test / resources / json / jsonSchema.json
1 {
2   "relationship_types": [
3     {
4       "from": "service-instance",
5       "to": "*",
6       "label": "amdocs.linkedTo",
7       "annotations": {
8         "contains-other-v": "NONE",
9         "delete-other-v": "NONE",
10         "prevent-delete": "NONE"
11       }
12     },
13     {
14       "from": "unknown",
15       "to": "*",
16       "label": "amdocs.unknownRelationship",
17       "annotations": {
18         "contains-other-v": "NONE",
19         "delete-other-v": "NONE",
20         "prevent-delete": "NONE"
21       }
22     }, 
23     {
24       "from": "*",
25       "to": "unknown",
26       "label": "amdocs.unknownRelationship",
27       "annotations": {
28         "contains-other-v": "NONE",
29         "delete-other-v": "NONE",
30         "prevent-delete": "NONE"
31       }
32     },    
33     {
34       "from": "tosca.nodes.SoftwareComponent",
35       "to": "tosca.nodes.Compute",
36       "label": "tosca.relationships.HostedOn",
37       "annotations": {
38         "contains-other-v": "NONE",
39         "delete-other-v": "NONE",
40         "prevent-delete": "NONE"
41       }
42     },
43     {
44       "from": "tosca.nodes.LoadBalancer",
45       "to": "tosca.nodes.ObjectStorage",
46       "label": "tosca.relationships.RoutesTo",
47       "annotations": {
48         "contains-other-v": "NONE",
49         "delete-other-v": "NONE",
50         "prevent-delete": "NONE"
51       }
52     },
53     {
54       "from": "tosca.nodes.LoadBalancer",
55       "to": "onap.nodes.sdwan.ManagementDomain",
56       "label": "tosca.relationships.RoutesTo",
57       "annotations": {
58         "contains-other-v": "NONE",
59         "delete-other-v": "NONE",
60         "prevent-delete": "NONE"
61       }
62     },
63     {
64       "from": "tosca.nodes.LoadBalancer",
65       "to": "tosca.nodes.LoadBalancer",
66       "label": "tosca.relationships.RoutesTo",
67       "annotations": {
68         "contains-other-v": "NONE",
69         "delete-other-v": "NONE",
70         "prevent-delete": "NONE"
71       }
72     },
73     {
74       "from": "tosca.nodes.LoadBalancer",
75       "to": "tosca.nodes.Database",
76       "label": "tosca.relationships.RoutesTo",
77       "annotations": {
78         "contains-other-v": "NONE",
79         "delete-other-v": "NONE",
80         "prevent-delete": "NONE"
81       }
82     },
83     {
84       "from": "tosca.nodes.LoadBalancer",
85       "to": "tosca.nodes.Compute",
86       "label": "tosca.relationships.RoutesTo",
87       "annotations": {
88         "contains-other-v": "NONE",
89         "delete-other-v": "NONE",
90         "prevent-delete": "NONE"
91       }
92     },
93     {
94       "from": "tosca.nodes.LoadBalancer",
95       "to": "tosca.nodes.Database",
96       "label": "tosca.relationships.Uses",
97       "annotations": {
98         "contains-other-v": "NONE",
99         "delete-other-v": "NONE",
100         "prevent-delete": "NONE"
101       }
102     },    
103     {
104       "from": "tosca.nodes.LoadBalancer",
105       "to": "tosca.nodes.WebApplication",
106       "label": "tosca.relationships.RoutesTo",
107       "annotations": {
108         "contains-other-v": "NONE",
109         "delete-other-v": "NONE",
110         "prevent-delete": "NONE"
111       }
112     },
113     {
114       "from": "tosca.nodes.LoadBalancer",
115       "to": "tosca.nodes.WebServer",
116       "label": "tosca.relationships.RoutesTo",
117       "annotations": {
118         "contains-other-v": "NONE",
119         "delete-other-v": "NONE",
120         "prevent-delete": "NONE"
121       }
122     },
123     {
124       "from": "nodes.ics.Port",
125       "to": "tosca.nodes.Compute",
126       "label": "tosca.relationships.network.BindsTo",
127       "annotations": {
128         "contains-other-v": "NONE",
129         "delete-other-v": "NONE",
130         "prevent-delete": "NONE"
131       }
132     },
133     {
134       "from": "tosca.nodes.network.Port",
135       "to": "tosca.nodes.Compute",
136       "label": "tosca.relationships.network.BindsTo",
137       "annotations": {
138         "contains-other-v": "NONE",
139         "delete-other-v": "NONE",
140         "prevent-delete": "NONE"
141       }
142     },
143     {
144       "from": "tosca.nodes.Compute",
145       "to": "tosca.nodes.BlockStorage",
146       "label": "tosca.relationships.AttachesTo",
147       "annotations": {
148         "contains-other-v": "NONE",
149         "delete-other-v": "NONE",
150         "prevent-delete": "NONE"
151       }
152     },
153     {
154       "from": "onap.nodes.sdwan.RoutingInstance",
155       "to": "onap.nodes.sdwan.service.SubscriberService",
156       "label": "onap.relationships.sdwan.BelongsTo",
157       "annotations": {
158         "contains-other-v": "NONE",
159         "delete-other-v": "NONE",
160         "prevent-delete": "NONE"
161       }
162     },
163     {
164       "from": "onap.nodes.sdwan.RoutingInstance",
165       "to": "onap.nodes.sdwan.ManagementDomain",
166       "label": "onap.relationships.ManagedBy",
167       "annotations": {
168         "contains-other-v": "NONE",
169         "delete-other-v": "NONE",
170         "prevent-delete": "NONE"
171       }
172     },
173     {
174       "from": "tosca.nodes.Database",
175       "to": "tosca.nodes.DBMS",
176       "label": "tosca.relationships.HostedOn",
177       "annotations": {
178         "contains-other-v": "NONE",
179         "delete-other-v": "NONE",
180         "prevent-delete": "NONE"
181       }
182     },
183     {
184       "from": "onap.nodes.sdwan.uCPE",
185       "to": "onap.nodes.sdwan.service.SubscriberService",
186       "label": "onap.relationships.sdwan.BelongsTo",
187       "annotations": {
188         "contains-other-v": "NONE",
189         "delete-other-v": "NONE",
190         "prevent-delete": "NONE"
191       }
192     },
193     {
194       "from": "onap.nodes.sdwan.uCPE",
195       "to": "onap.nodes.sdwan.ManagementDomain",
196       "label": "onap.relationships.ManagedBy",
197       "annotations": {
198         "contains-other-v": "NONE",
199         "delete-other-v": "NONE",
200         "prevent-delete": "NONE"
201       }
202     },
203     {
204       "from": "onap.nodes.sdwan.VPN",
205       "to": "onap.nodes.sdwan.service.SubscriberService",
206       "label": "onap.relationships.sdwan.BelongsTo",
207       "annotations": {
208         "contains-other-v": "NONE",
209         "delete-other-v": "NONE",
210         "prevent-delete": "NONE"
211       }
212     },
213     {
214       "from": "onap.nodes.sdwan.Account",
215       "to": "onap.nodes.sdwan.ManagementDomain",
216       "label": "onap.relationships.ManagedBy",
217       "annotations": {
218         "contains-other-v": "NONE",
219         "delete-other-v": "NONE",
220         "prevent-delete": "NONE"
221       }
222     }
223   ],
224   "data_types": [
225     {
226       "name": "org.onap.datatypes.network.VlanRequirements",
227       "description": "",
228       "properties": [
229         {
230           "name": "vlan_range_plan",
231           "required": false,
232           "type": "string",
233           "description": "",
234           "default": "",
235           "constraint": ""
236         },
237         {
238           "name": "vlan_type",
239           "required": false,
240           "type": "string",
241           "description": "",
242           "default": "",
243           "constraint": "Valid_values: [c-tag, s-tag],"
244         },
245         {
246           "name": "vlan_count",
247           "required": false,
248           "type": "integer",
249           "description": "",
250           "default": "",
251           "constraint": ""
252         },
253         {
254           "name": "supplemental_data",
255           "required": false,
256           "type": "string",
257           "description": "",
258           "default": "",
259           "constraint": ""
260         }
261       ]
262     },
263     {
264       "name": "org.onap.datatypes.RuleList",
265       "description": "",
266       "properties": [
267         {
268           "name": "network_policy_entries_policy_rule",
269           "required": false,
270           "type": "list:string",
271           "description": "",
272           "default": "",
273           "constraint": ""
274         }
275       ]
276     },
277     {
278       "name": "org.onap.datatypes.network.MacRequirements",
279       "description": "",
280       "properties": [
281         {
282           "name": "mac_range_plan",
283           "required": false,
284           "type": "string",
285           "description": "",
286           "default": "",
287           "constraint": ""
288         },
289         {
290           "name": "mac_count",
291           "required": false,
292           "type": "integer",
293           "description": "",
294           "default": "",
295           "constraint": ""
296         },
297         {
298           "name": "mac_count_required",
299           "required": false,
300           "type": "org.onap.datatypes.AssignmentRequirements",
301           "description": "",
302           "default": "",
303           "constraint": ""
304         },
305         {
306           "name": "supplemental_data",
307           "required": false,
308           "type": "string",
309           "description": "",
310           "default": "",
311           "constraint": ""
312         }
313       ]
314     },
315     {
316       "name": "org.onap.datatypes.AssignmentRequirements",
317       "description": "",
318       "properties": [
319         {
320           "name": "is_required",
321           "required": false,
322           "type": "boolean",
323           "description": "",
324           "default": "",
325           "constraint": ""
326         },
327         {
328           "name": "count",
329           "required": false,
330           "type": "integer",
331           "description": "",
332           "default": "",
333           "constraint": ""
334         },
335         {
336           "name": "supplemental_data",
337           "required": false,
338           "type": "string",
339           "description": "",
340           "default": "",
341           "constraint": ""
342         }
343       ]
344     },
345     {
346       "name": "org.onap.datatypes.Naming",
347       "description": "",
348       "properties": [
349         {
350           "name": "generated_naming",
351           "required": false,
352           "type": "boolean",
353           "description": "",
354           "default": "",
355           "constraint": ""
356         },
357         {
358           "name": "naming_policy",
359           "required": false,
360           "type": "string",
361           "description": "",
362           "default": "",
363           "constraint": ""
364         },
365         {
366           "name": "instance_name",
367           "required": false,
368           "type": "string",
369           "description": "",
370           "default": "",
371           "constraint": ""
372         },
373         {
374           "name": "supplemental_data",
375           "required": false,
376           "type": "string",
377           "description": "",
378           "default": "",
379           "constraint": ""
380         }
381       ]
382     }
383   ],
384   "node_types": [
385     {
386       "name": "unknown",
387       "description": "",
388       "uriTemplate": "",
389       "properties": [
390         {
391           "name": "node-name",
392           "required": true,
393           "unique": false,
394           "type": "string",
395           "description": "",
396           "default": "",
397           "annotations": {
398             "indexed": true,
399             "searchable": true,
400             "source_of_truth_type": "AAI",
401             "constraint": ""
402           }
403         }
404       ]
405     },  
406     {
407       "name": "service-instance",
408       "description": "",
409       "uriTemplate": "",
410       "properties": [
411         {
412           "name": "service-instance-name",
413           "required": true,
414           "unique": false,
415           "type": "string",
416           "description": "",
417           "default": "",
418           "annotations": {
419             "indexed": true,
420             "searchable": true,
421             "source_of_truth_type": "AAI",
422             "constraint": ""
423           }
424         },
425         {
426           "name": "service-type",
427           "required": true,
428           "unique": false,
429           "type": "string",
430           "description": "",
431           "default": "",
432           "annotations": {
433             "indexed": false,
434             "searchable": true,
435             "source_of_truth_type": "AAI",
436             "constraint": "Greater_or_equal: 0 GB,"
437           }
438         }
439       ]
440     },
441     {
442       "name": "tosca.nodes.ObjectStorage",
443       "description": "",
444       "uriTemplate": "",
445       "properties": [
446         {
447           "name": "name",
448           "required": true,
449           "unique": false,
450           "type": "string",
451           "description": "",
452           "default": "",
453           "annotations": {
454             "indexed": true,
455             "searchable": true,
456             "source_of_truth_type": "AAI",
457             "constraint": ""
458           }
459         },
460         {
461           "name": "size",
462           "required": true,
463           "unique": false,
464           "type": "integer",
465           "description": "",
466           "default": "50",
467           "annotations": {
468             "indexed": false,
469             "searchable": true,
470             "source_of_truth_type": "AAI",
471             "constraint": "Greater_or_equal: 0 GB,"
472           }
473         },
474         {
475           "name": "maxsize",
476           "required": true,
477           "unique": false,
478           "type": "string",
479           "description": "",
480           "default": "",
481           "annotations": {
482             "indexed": false,
483             "searchable": false,
484             "source_of_truth_type": "AAI",
485             "constraint": "Greater_or_equal: 0 GB,"
486           }
487         }
488       ]
489     },
490     {
491       "name": "org.onap.resource.NetworkRules",
492       "description": "",
493       "uriTemplate": "",
494       "properties": [
495         {
496           "name": "name",
497           "required": false,
498           "unique": false,
499           "type": "string",
500           "description": "",
501           "default": "",
502           "annotations": {
503             "indexed": false,
504             "searchable": false,
505             "source_of_truth_type": "AAI",
506             "constraint": ""
507           }
508         },
509         {
510           "name": "network_policy_entries",
511           "required": false,
512           "unique": false,
513           "type": "org.onap.datatypes.RuleList",
514           "description": "",
515           "default": "",
516           "annotations": {
517             "indexed": false,
518             "searchable": false,
519             "source_of_truth_type": "AAI",
520             "constraint": ""
521           }
522         }
523       ]
524     },
525     {
526       "name": "onap.nodes.sdwan.ManagementDomain",
527       "description": "",
528       "uriTemplate": "",
529       "properties": [
530         {
531           "name": "mdName",
532           "required": true,
533           "unique": false,
534           "type": "string",
535           "description": "",
536           "default": "",
537           "annotations": {
538             "indexed": false,
539             "searchable": false,
540             "source_of_truth_type": "AAI",
541             "constraint": ""
542           }
543         },
544         {
545           "name": "controllers",
546           "required": true,
547           "unique": false,
548           "type": "list:string",
549           "description": "",
550           "default": "",
551           "annotations": {
552             "indexed": false,
553             "searchable": false,
554             "source_of_truth_type": "AAI",
555             "constraint": ""
556           }
557         },
558         {
559           "name": "stagingControllers",
560           "required": true,
561           "unique": false,
562           "type": "list:string",
563           "description": "",
564           "default": "",
565           "annotations": {
566             "indexed": false,
567             "searchable": false,
568             "source_of_truth_type": "AAI",
569             "constraint": ""
570           }
571         },
572         {
573           "name": "mdDirectorUrl",
574           "required": true,
575           "unique": false,
576           "type": "string",
577           "description": "",
578           "default": "",
579           "annotations": {
580             "indexed": false,
581             "searchable": false,
582             "source_of_truth_type": "AAI",
583             "constraint": ""
584           }
585         },
586         {
587           "name": "mdDirectorCredentialName",
588           "required": true,
589           "unique": false,
590           "type": "string",
591           "description": "",
592           "default": "",
593           "annotations": {
594             "indexed": false,
595             "searchable": false,
596             "source_of_truth_type": "AAI",
597             "constraint": ""
598           }
599         },
600         {
601           "name": "encryptionType",
602           "required": false,
603           "unique": false,
604           "type": "string",
605           "description": "",
606           "default": "",
607           "annotations": {
608             "indexed": false,
609             "searchable": false,
610             "source_of_truth_type": "AAI",
611             "constraint": ""
612           }
613         },
614         {
615           "name": "analyticClusters",
616           "required": false,
617           "unique": false,
618           "type": "map:string",
619           "description": "",
620           "default": "",
621           "annotations": {
622             "indexed": false,
623             "searchable": false,
624             "source_of_truth_type": "AAI",
625             "constraint": ""
626           }
627         },
628         {
629           "name": "cliUsers",
630           "required": false,
631           "unique": false,
632           "type": "string",
633           "description": "",
634           "default": "",
635           "annotations": {
636             "indexed": false,
637             "searchable": false,
638             "source_of_truth_type": "AAI",
639             "constraint": ""
640           }
641         },
642         {
643           "name": "devicesSet",
644           "required": false,
645           "unique": false,
646           "type": "string",
647           "description": "",
648           "default": "",
649           "annotations": {
650             "indexed": false,
651             "searchable": false,
652             "source_of_truth_type": "AAI",
653             "constraint": ""
654           }
655         }
656       ]
657     },
658     {
659       "name": "org.onap.resource.extContrailCP",
660       "description": "",
661       "uriTemplate": "",
662       "properties": [
663         {
664           "name": "static_routes",
665           "required": false,
666           "unique": false,
667           "type": "list:string",
668           "description": "",
669           "default": "",
670           "annotations": {
671             "indexed": false,
672             "searchable": false,
673             "source_of_truth_type": "AAI",
674             "constraint": ""
675           }
676         },
677         {
678           "name": "virtual_network",
679           "required": true,
680           "unique": false,
681           "type": "string",
682           "description": "",
683           "default": "",
684           "annotations": {
685             "indexed": false,
686             "searchable": false,
687             "source_of_truth_type": "AAI",
688             "constraint": ""
689           }
690         },
691         {
692           "name": "static_route",
693           "required": false,
694           "unique": false,
695           "type": "boolean",
696           "description": "",
697           "default": "",
698           "annotations": {
699             "indexed": false,
700             "searchable": false,
701             "source_of_truth_type": "AAI",
702             "constraint": ""
703           }
704         },
705         {
706           "name": "allowed_address_pairs",
707           "required": false,
708           "unique": false,
709           "type": "list:string",
710           "description": "",
711           "default": "",
712           "annotations": {
713             "indexed": false,
714             "searchable": false,
715             "source_of_truth_type": "AAI",
716             "constraint": ""
717           }
718         },
719         {
720           "name": "shared_ip",
721           "required": false,
722           "unique": false,
723           "type": "boolean",
724           "description": "",
725           "default": "",
726           "annotations": {
727             "indexed": false,
728             "searchable": false,
729             "source_of_truth_type": "AAI",
730             "constraint": ""
731           }
732         },
733         {
734           "name": "interface_type",
735           "required": true,
736           "unique": false,
737           "type": "string",
738           "description": "",
739           "default": "",
740           "annotations": {
741             "indexed": false,
742             "searchable": false,
743             "source_of_truth_type": "AAI",
744             "constraint": "Valid_values: [management, left, right, other],"
745           }
746         },
747         {
748           "name": "network_role",
749           "required": true,
750           "unique": false,
751           "type": "string",
752           "description": "",
753           "default": "",
754           "annotations": {
755             "indexed": false,
756             "searchable": false,
757             "source_of_truth_type": "AAI",
758             "constraint": ""
759           }
760         },
761         {
762           "name": "network_role_tag",
763           "required": true,
764           "unique": false,
765           "type": "string",
766           "description": "",
767           "default": "",
768           "annotations": {
769             "indexed": false,
770             "searchable": false,
771             "source_of_truth_type": "AAI",
772             "constraint": ""
773           }
774         },
775         {
776           "name": "mac_requirements",
777           "required": false,
778           "unique": false,
779           "type": "org.onap.datatypes.network.MacRequirements",
780           "description": "",
781           "default": "",
782           "annotations": {
783             "indexed": false,
784             "searchable": false,
785             "source_of_truth_type": "AAI",
786             "constraint": ""
787           }
788         },
789         {
790           "name": "vlan_requirements",
791           "required": false,
792           "unique": false,
793           "type": "list:string",
794           "description": "",
795           "default": "",
796           "annotations": {
797             "indexed": false,
798             "searchable": false,
799             "source_of_truth_type": "AAI",
800             "constraint": ""
801           }
802         },
803         {
804           "name": "ip_requirements",
805           "required": true,
806           "unique": false,
807           "type": "list:string",
808           "description": "",
809           "default": "",
810           "annotations": {
811             "indexed": false,
812             "searchable": false,
813             "source_of_truth_type": "AAI",
814             "constraint": ""
815           }
816         },
817         {
818           "name": "exCP_naming",
819           "required": true,
820           "unique": false,
821           "type": "org.onap.datatypes.Naming",
822           "description": "",
823           "default": "",
824           "annotations": {
825             "indexed": false,
826             "searchable": false,
827             "source_of_truth_type": "AAI",
828             "constraint": ""
829           }
830         },
831         {
832           "name": "subnetpoolid",
833           "required": true,
834           "unique": false,
835           "type": "string",
836           "description": "",
837           "default": "",
838           "annotations": {
839             "indexed": false,
840             "searchable": false,
841             "source_of_truth_type": "AAI",
842             "constraint": ""
843           }
844         },
845         {
846           "name": "subinterface_indicator",
847           "required": false,
848           "unique": false,
849           "type": "boolean",
850           "description": "",
851           "default": "",
852           "annotations": {
853             "indexed": false,
854             "searchable": false,
855             "source_of_truth_type": "AAI",
856             "constraint": ""
857           }
858         },
859         {
860           "name": "related_networks",
861           "required": false,
862           "unique": false,
863           "type": "list:string",
864           "description": "",
865           "default": "",
866           "annotations": {
867             "indexed": false,
868             "searchable": false,
869             "source_of_truth_type": "AAI",
870             "constraint": ""
871           }
872         },
873         {
874           "name": "ip_address",
875           "required": false,
876           "unique": false,
877           "type": "string",
878           "description": "",
879           "default": "",
880           "annotations": {
881             "indexed": false,
882             "searchable": false,
883             "source_of_truth_type": "AAI",
884             "constraint": ""
885           }
886         },
887         {
888           "name": "order",
889           "required": true,
890           "unique": false,
891           "type": "integer",
892           "description": "",
893           "default": "",
894           "annotations": {
895             "indexed": false,
896             "searchable": false,
897             "source_of_truth_type": "AAI",
898             "constraint": "Greater_or_equal: 0,"
899           }
900         },
901         {
902           "name": "is_default",
903           "required": false,
904           "unique": false,
905           "type": "boolean",
906           "description": "",
907           "default": "",
908           "annotations": {
909             "indexed": false,
910             "searchable": false,
911             "source_of_truth_type": "AAI",
912             "constraint": ""
913           }
914         },
915         {
916           "name": "ip_range_start",
917           "required": false,
918           "unique": false,
919           "type": "string",
920           "description": "",
921           "default": "",
922           "annotations": {
923             "indexed": false,
924             "searchable": false,
925             "source_of_truth_type": "AAI",
926             "constraint": ""
927           }
928         },
929         {
930           "name": "ip_range_end",
931           "required": false,
932           "unique": false,
933           "type": "string",
934           "description": "",
935           "default": "",
936           "annotations": {
937             "indexed": false,
938             "searchable": false,
939             "source_of_truth_type": "AAI",
940             "constraint": ""
941           }
942         }
943       ]
944     }
945   ],
946   "common_node_properties": [
947     {
948       "name": "aai-uuid",
949       "required": true,
950       "unique": true,
951       "type": "string",
952       "description": "",
953       "default": "",
954       "annotations": {
955         "indexed": true,
956         "searchable": false,
957         "source_of_truth_type": "AAI",
958         "constraint": ""
959       }
960     },
961     {
962       "name": "source-of-truth",
963       "required": false,
964       "unique": false,
965       "type": "string",
966       "description": "",
967       "default": "",
968       "annotations": {
969         "indexed": false,
970         "searchable": false,
971         "source_of_truth_type": "AAI",
972         "constraint": ""
973       }
974     }
975   ]
976 }