[AAI-100 Amsterdam] refactored dbedgerules
[aai/aai-common.git] / aai-core / src / main / resources / dbedgerules / DbEdgeRules_v8.json
1 {"rules":
2 [
3 {
4         "from" : "availability-zone",
5         "to" : "complex",
6         "label" : "groupsResourcesIn",
7         "direction" : "OUT",
8         "multiplicity" : "Many2Many",
9         "isParent" : "false",
10         "usesResource" : "false",
11         "hasDelTarget" : "false",
12         "SVC-INFRA" : "false"
13 },
14 {
15         "from" : "generic-vnf",
16         "to" : "license-key-resource",
17         "label" : "uses",
18         "direction" : "OUT",
19         "multiplicity" : "Many2Many",
20         "isParent" : "false",
21         "usesResource" : "false",
22         "hasDelTarget" : "false",
23         "SVC-INFRA" : "false"
24 },
25 {
26         "from" : "availability-zone",
27         "to" : "service-capability",
28         "label" : "supportsServiceCapability",
29         "direction" : "OUT",
30         "multiplicity" : "Many2Many",
31         "isParent" : "false",
32         "usesResource" : "false",
33         "hasDelTarget" : "false",
34         "SVC-INFRA" : "false"
35 },
36 {
37         "from" : "cloud-region",
38         "to" : "complex",
39         "label" : "locatedIn",
40         "direction" : "OUT",
41         "multiplicity" : "Many2One",
42         "isParent" : "false",
43         "usesResource" : "false",
44         "hasDelTarget" : "false",
45         "SVC-INFRA" : "false"
46 },
47 {
48         "from" : "cloud-region",
49         "to" : "l3-network",
50         "label" : "uses",
51         "direction" : "OUT",
52         "multiplicity" : "Many2Many",
53         "isParent" : "false",
54         "usesResource" : "false",
55         "hasDelTarget" : "false",
56         "SVC-INFRA" : "false"
57 },
58 {
59         "from" : "cloud-region",
60         "to" : "tenant",
61         "label" : "has",
62         "direction" : "OUT",
63         "multiplicity" : "One2Many",
64         "isParent" : "true",
65         "usesResource" : "false",
66         "hasDelTarget" : "false",
67         "SVC-INFRA" : "reverse"
68 },
69 {
70         "from" : "cloud-region",
71         "to" : "image",
72         "label" : "has",
73         "direction" : "OUT",
74         "multiplicity" : "One2Many",
75         "isParent" : "true",
76         "usesResource" : "false",
77         "hasDelTarget" : "false",
78         "SVC-INFRA" : "false"
79 },
80 {
81         "from" : "cloud-region",
82         "to" : "flavor",
83         "label" : "has",
84         "direction" : "OUT",
85         "multiplicity" : "One2Many",
86         "isParent" : "true",
87         "usesResource" : "false",
88         "hasDelTarget" : "false",
89         "SVC-INFRA" : "false"
90 },
91 {
92         "from" : "cloud-region",
93         "to" : "availability-zone",
94         "label" : "has",
95         "direction" : "OUT",
96         "multiplicity" : "One2Many",
97         "isParent" : "true",
98         "usesResource" : "false",
99         "hasDelTarget" : "false",
100         "SVC-INFRA" : "false"
101 },
102 {
103         "from" : "cloud-region",
104         "to" : "oam-network",
105         "label" : "has",
106         "direction" : "OUT",
107         "multiplicity" : "One2Many",
108         "isParent" : "true",
109         "usesResource" : "false",
110         "hasDelTarget" : "false",
111         "SVC-INFRA" : "false"
112 },
113 {
114         "from" : "cloud-region",
115         "to" : "dvs-switch",
116         "label" : "has",
117         "direction" : "OUT",
118         "multiplicity" : "One2Many",
119         "isParent" : "true",
120         "usesResource" : "false",
121         "hasDelTarget" : "false",
122         "SVC-INFRA" : "false"
123 },
124 {
125         "from" : "cloud-region",
126         "to" : "volume-group",
127         "label" : "has",
128         "direction" : "OUT",
129         "multiplicity" : "One2Many",
130         "isParent" : "true",
131         "usesResource" : "true",
132         "hasDelTarget" : "false",
133         "SVC-INFRA" : "false"
134 },
135 {
136         "from" : "cloud-region",
137         "to" : "group-assignment",
138         "label" : "has",
139         "direction" : "OUT",
140         "multiplicity" : "One2Many",
141         "isParent" : "true",
142         "usesResource" : "false",
143         "hasDelTarget" : "false",
144         "SVC-INFRA" : "false"
145 },
146 {
147         "from" : "cloud-region",
148         "to" : "snapshot",
149         "label" : "has",
150         "direction" : "OUT",
151         "multiplicity" : "One2Many",
152         "isParent" : "true",
153         "usesResource" : "false",
154         "hasDelTarget" : "false",
155         "SVC-INFRA" : "false"
156 },
157 {
158         "from" : "complex",
159         "to" : "ctag-pool",
160         "label" : "hasCtagPool",
161         "direction" : "OUT",
162         "multiplicity" : "Many2Many",
163         "isParent" : "true",
164         "usesResource" : "false",
165         "hasDelTarget" : "false",
166         "SVC-INFRA" : "false"
167 },
168 {
169         "from" : "complex",
170         "to" : "l3-network",
171         "label" : "usesL3Network",
172         "direction" : "OUT",
173         "multiplicity" : "Many2Many",
174         "isParent" : "false",
175         "usesResource" : "false",
176         "hasDelTarget" : "false",
177         "SVC-INFRA" : "true"
178 },
179 {
180         "from" : "ctag-pool",
181         "to" : "availability-zone",
182         "label" : "supportsAvailabilityZone",
183         "direction" : "OUT",
184         "multiplicity" : "Many2Many",
185         "isParent" : "false",
186         "usesResource" : "false",
187         "hasDelTarget" : "false",
188         "SVC-INFRA" : "false"
189 },
190 {
191         "from" : "customer",
192         "to" : "service-subscription",
193         "label" : "subscribesTo",
194         "direction" : "OUT",
195         "multiplicity" : "Many2Many",
196         "isParent" : "true",
197         "usesResource" : "false",
198         "hasDelTarget" : "false",
199         "SVC-INFRA" : "reverse"
200 },
201 {
202         "from" : "dvs-switch",
203         "to" : "availability-zone",
204         "label" : "existsIn",
205         "direction" : "OUT",
206         "multiplicity" : "Many2Many",
207         "isParent" : "false",
208         "usesResource" : "false",
209         "hasDelTarget" : "false",
210         "SVC-INFRA" : "false"
211 },
212 {
213         "from" : "generic-vnf",
214         "to" : "l-interface",
215         "label" : "hasLInterface",
216         "direction" : "OUT",
217         "multiplicity" : "Many2Many",
218         "isParent" : "true",
219         "usesResource" : "false",
220         "hasDelTarget" : "false",
221         "SVC-INFRA" : "true"
222 },
223 {
224         "from" : "generic-vnf",
225         "to" : "availability-zone",
226         "label" : "hasAvailabilityZone",
227         "direction" : "OUT",
228         "multiplicity" : "Many2Many",
229         "isParent" : "false",
230         "usesResource" : "false",
231         "hasDelTarget" : "false",
232         "SVC-INFRA" : "true"
233 },
234 {
235         "from" : "generic-vnf",
236         "to" : "lag-interface",
237         "label" : "hasLAGInterface",
238         "direction" : "OUT",
239         "multiplicity" : "Many2Many",
240         "isParent" : "true",
241         "usesResource" : "false",
242         "hasDelTarget" : "false",
243         "SVC-INFRA" : "true"
244 },
245 {
246         "from" : "generic-vnf",
247         "to" : "l3-network",
248         "label" : "usesL3Network",
249         "direction" : "OUT",
250         "multiplicity" : "Many2Many",
251         "isParent" : "false",
252         "usesResource" : "true",
253         "hasDelTarget" : "false",
254         "SVC-INFRA" : "true"
255 },
256 {
257         "from" : "generic-vnf",
258         "to" : "pserver",
259         "label" : "runsOnPserver",
260         "direction" : "OUT",
261         "multiplicity" : "Many2Many",
262         "isParent" : "false",
263         "usesResource" : "true",
264         "hasDelTarget" : "false",
265         "SVC-INFRA" : "true"
266 },
267 {
268         "from" : "generic-vnf",
269         "to" : "vnf-image",
270         "label" : "usesVnfImage",
271         "direction" : "OUT",
272         "multiplicity" : "Many2One",
273         "isParent" : "false",
274         "usesResource" : "false",
275         "hasDelTarget" : "false",
276         "SVC-INFRA" : "true"
277 },
278 {
279         "from" : "generic-vnf",
280         "to" : "vserver",
281         "label" : "runsOnVserver",
282         "direction" : "OUT",
283         "multiplicity" : "One2Many",
284         "isParent" : "false",
285         "usesResource" : "true",
286         "hasDelTarget" : "false",
287         "SVC-INFRA" : "true"
288 },
289 {
290         "from" : "generic-vnf",
291         "to" : "service-instance",
292         "label" : "hasInstance",
293         "direction" : "OUT",
294         "multiplicity" : "Many2Many",
295         "isParent" : "false",
296         "usesResource" : "true",
297         "hasDelTarget" : "false",
298         "SVC-INFRA" : "true"
299 },
300 {
301         "from" : "generic-vnf",
302         "to" : "site-pair-set",
303         "label" : "hasSitePairSet",
304         "direction" : "OUT",
305         "multiplicity" : "Many2Many",
306         "isParent" : "false",
307         "usesResource" : "false",
308         "hasDelTarget" : "false",
309         "SVC-INFRA" : "false"
310 },
311 {
312         "from" : "generic-vnf",
313         "to" : "network-profile",
314         "label" : "hasNetworkProfile",
315         "direction" : "OUT",
316         "multiplicity" : "Many2Many",
317         "isParent" : "false",
318         "usesResource" : "false",
319         "hasDelTarget" : "false",
320         "SVC-INFRA" : "false"
321 },
322 {
323         "from" : "group-assignment",
324         "to" : "tenant",
325         "label" : "has",
326         "direction" : "OUT",
327         "multiplicity" : "Many2Many",
328         "isParent" : "false",
329         "usesResource" : "false",
330         "hasDelTarget" : "false",
331         "SVC-INFRA" : "false"
332 },
333 {
334         "from" : "group-assignment",
335         "to" : "pserver",
336         "label" : "has",
337         "direction" : "OUT",
338         "multiplicity" : "One2Many",
339         "isParent" : "false",
340         "usesResource" : "false",
341         "hasDelTarget" : "false",
342         "SVC-INFRA" : "false"
343 },
344 {
345         "from" : "image",
346         "to" : "metadata",
347         "label" : "hasMetaData",
348         "direction" : "OUT",
349         "multiplicity" : "Many2Many",
350         "isParent" : "true",
351         "usesResource" : "false",
352         "hasDelTarget" : "false",
353         "SVC-INFRA" : "false"
354 },
355 {
356         "from" : "image",
357         "to" : "metadatum",
358         "label" : "hasMetaDatum",
359         "direction" : "OUT",
360         "multiplicity" : "Many2Many",
361         "isParent" : "true",
362         "usesResource" : "false",
363         "hasDelTarget" : "false",
364         "SVC-INFRA" : "false"
365 },
366 {
367         "from" : "l-interface",
368         "to" : "l3-interface-ipv4-address-list",
369         "label" : "hasIpAddress",
370         "direction" : "OUT",
371         "multiplicity" : "Many2Many",
372         "isParent" : "true",
373         "usesResource" : "false",
374         "hasDelTarget" : "false",
375         "SVC-INFRA" : "true"
376 },
377 {
378         "from" : "l-interface",
379         "to" : "l3-interface-ipv6-address-list",
380         "label" : "hasIpAddress",
381         "direction" : "OUT",
382         "multiplicity" : "Many2Many",
383         "isParent" : "true",
384         "usesResource" : "false",
385         "hasDelTarget" : "false",
386         "SVC-INFRA" : "true"
387 },
388 {
389         "from" : "l-interface",
390         "to" : "logical-link",
391         "label" : "usesLogicalLink",
392         "direction" : "OUT",
393         "multiplicity" : "Many2Many",
394         "isParent" : "false",
395         "usesResource" : "false",
396         "hasDelTarget" : "true",
397         "SVC-INFRA" : "true"
398 },
399 {
400         "from" : "l-interface",
401         "to" : "vlan",
402         "label" : "hasVlan",
403         "direction" : "OUT",
404         "multiplicity" : "Many2Many",
405         "isParent" : "true",
406         "usesResource" : "false",
407         "hasDelTarget" : "false",
408         "SVC-INFRA" : "false"
409 },
410 {
411         "from" : "l-interface",
412         "to" : "sriov-vf",
413         "label" : "has",
414         "direction" : "OUT",
415         "multiplicity" : "One2One",
416         "isParent" : "true",
417         "usesResource" : "false",
418         "hasDelTarget" : "false",
419         "SVC-INFRA" : "false"
420 },
421 {
422         "from" : "l3-interface-ipv4-address-list",
423         "to" : "l3-network",
424         "label" : "isMemberOf",
425         "direction" : "OUT",
426         "multiplicity" : "Many2Many",
427         "isParent" : "false",
428         "usesResource" : "false",
429         "hasDelTarget" : "false",
430         "SVC-INFRA" : "true"
431 },
432 {
433         "from" : "l3-interface-ipv6-address-list",
434         "to" : "l3-network",
435         "label" : "isMemberOf",
436         "direction" : "OUT",
437         "multiplicity" : "Many2Many",
438         "isParent" : "false",
439         "usesResource" : "false",
440         "hasDelTarget" : "false",
441         "SVC-INFRA" : "true"
442 },
443 {
444         "from" : "l3-interface-ipv4-address-list",
445         "to" : "subnet",
446         "label" : "isMemberOf",
447         "direction" : "OUT",
448         "multiplicity" : "Many2Many",
449         "isParent" : "false",
450         "usesResource" : "false",
451         "hasDelTarget" : "false",
452         "SVC-INFRA" : "true"
453 },
454 {
455         "from" : "l3-interface-ipv6-address-list",
456         "to" : "subnet",
457         "label" : "isMemberOf",
458         "direction" : "OUT",
459         "multiplicity" : "Many2Many",
460         "isParent" : "false",
461         "usesResource" : "false",
462         "hasDelTarget" : "false",
463         "SVC-INFRA" : "true"
464 },
465 {
466         "from" : "l3-network",
467         "to" : "vpn-binding",
468         "label" : "usesVpnBinding",
469         "direction" : "OUT",
470         "multiplicity" : "Many2Many",
471         "isParent" : "false",
472         "usesResource" : "false",
473         "hasDelTarget" : "false",
474         "SVC-INFRA" : "false"
475 },
476 {
477         "from" : "l3-network",
478         "to" : "subnet",
479         "label" : "hasSubnet",
480         "direction" : "OUT",
481         "multiplicity" : "Many2Many",
482         "isParent" : "true",
483         "usesResource" : "false",
484         "hasDelTarget" : "false",
485         "SVC-INFRA" : "reverse"
486 },
487 {
488         "from" : "l3-network",
489         "to" : "service-instance",
490         "label" : "hasInstance",
491         "direction" : "OUT",
492         "multiplicity" : "Many2Many",
493         "isParent" : "false",
494         "usesResource" : "false",
495         "hasDelTarget" : "false",
496         "SVC-INFRA" : "reverse"
497 },
498 {
499         "from" : "l3-network",
500         "to" : "ctag-assignment",
501         "label" : "hasCtagAssignment",
502         "direction" : "OUT",
503         "multiplicity" : "Many2Many",
504         "isParent" : "true",
505         "usesResource" : "false",
506         "hasDelTarget" : "false",
507         "SVC-INFRA" : "true"
508 },
509 {
510         "from" : "l3-network",
511         "to" : "network-policy",
512         "label" : "uses",
513         "direction" : "OUT",
514         "multiplicity" : "Many2Many",
515         "isParent" : "false",
516         "usesResource" : "false",
517         "hasDelTarget" : "false",
518         "SVC-INFRA" : "true"
519 },
520 {
521         "from" : "l3-network",
522         "to" : "segmentation-assignment",
523         "label" : "has",
524         "direction" : "OUT",
525         "multiplicity" : "One2Many",
526         "isParent" : "true",
527         "usesResource" : "false",
528         "hasDelTarget" : "false",
529         "SVC-INFRA" : "false"
530 },
531 {
532         "from" : "l3-network",
533         "to" : "route-table-reference",
534         "label" : "uses",
535         "direction" : "OUT",
536         "multiplicity" : "Many2Many",
537         "isParent" : "false",
538         "usesResource" : "false",
539         "hasDelTarget" : "false",
540         "SVC-INFRA" : "false"
541 },
542 {
543         "from" : "lag-interface",
544         "to" : "lag-link",
545         "label" : "usesLAGLink",
546         "direction" : "OUT",
547         "multiplicity" : "Many2Many",
548         "isParent" : "false",
549         "usesResource" : "true",
550         "hasDelTarget" : "true",
551         "SVC-INFRA" : "true"
552 },
553 {
554         "from" : "lag-interface",
555         "to" : "p-interface",
556         "label" : "usesPInterface",
557         "direction" : "OUT",
558         "multiplicity" : "Many2Many",
559         "isParent" : "false",
560         "usesResource" : "true",
561         "hasDelTarget" : "false",
562         "SVC-INFRA" : "true"
563 },
564 {
565         "from" : "lag-interface",
566         "to" : "l-interface",
567         "label" : "hasLInterface",
568         "direction" : "OUT",
569         "multiplicity" : "Many2Many",
570         "isParent" : "true",
571         "usesResource" : "false",
572         "hasDelTarget" : "false",
573         "SVC-INFRA" : "true"
574 },
575 {
576         "from" : "logical-link",
577         "to" : "lag-link",
578         "label" : "usesLAGLink",
579         "direction" : "OUT",
580         "multiplicity" : "Many2Many",
581         "isParent" : "false",
582         "usesResource" : "true",
583         "hasDelTarget" : "false",
584         "SVC-INFRA" : "true"
585 },
586 {
587         "from" : "logical-link",
588         "to" : "pnf",
589         "label" : "bridgedTo",
590         "direction" : "OUT",
591         "multiplicity" : "Many2Many",
592         "isParent" : "false",
593         "usesResource" : "false",
594         "hasDelTarget" : "false",
595         "SVC-INFRA" : "false"
596 },
597 {
598         "from" : "logical-link",
599         "to" : "logical-link",
600         "label" : "uses",
601         "direction" : "OUT",
602         "multiplicity" : "One2Many",
603         "isParent" : "false",
604         "usesResource" : "false",
605         "hasDelTarget" : "false",
606         "SVC-INFRA" : "true"
607 },
608 {
609         "from" : "model",
610         "to" : "model-element",
611         "label" : "startsWith",
612         "direction" : "OUT",
613         "multiplicity" : "One2Many",
614         "isParent" : "true",
615         "usesResource" : "false",
616         "hasDelTarget" : "false",
617         "SVC-INFRA" : "false"
618 },
619 {
620         "from" : "model-element",
621         "to" : "model",
622         "label" : "isA",
623         "direction" : "OUT",
624         "multiplicity" : "Many2One",
625         "isParent" : "false",
626         "usesResource" : "false",
627         "hasDelTarget" : "false",
628         "SVC-INFRA" : "false"
629 },
630 {
631         "from" : "model",
632         "to" : "metadatum",
633         "label" : "hasMetaData",
634         "direction" : "OUT",
635         "multiplicity" : "One2Many",
636         "isParent" : "true",
637         "usesResource" : "false",
638         "hasDelTarget" : "false",
639         "SVC-INFRA" : "false"
640 },
641 {
642         "from" : "model-element",
643         "to" : "model-element",
644         "label" : "connectsTo",
645         "direction" : "OUT",
646         "multiplicity" : "One2Many",
647         "isParent" : "true",
648         "usesResource" : "false",
649         "hasDelTarget" : "false",
650         "SVC-INFRA" : "false"
651 },
652 {
653         "from" : "model-element",
654         "to" : "model-constraint",
655         "label" : "uses",
656         "direction" : "OUT",
657         "multiplicity" : "One2Many",
658         "isParent" : "true",
659         "usesResource" : "false",
660         "hasDelTarget" : "false",
661         "SVC-INFRA" : "false"
662 },
663 {
664         "from" : "model-element",
665         "to" : "constrained-element-set",
666         "label" : "connectsTo",
667         "direction" : "OUT",
668         "multiplicity" : "One2Many",
669         "isParent" : "true",
670         "usesResource" : "false",
671         "hasDelTarget" : "false",
672         "SVC-INFRA" : "false"
673 },
674 {
675         "from" : "model-constraint",
676         "to" : "constrained-element-set",
677         "label" : "uses",
678         "direction" : "OUT",
679         "multiplicity" : "One2Many",
680         "isParent" : "true",
681         "usesResource" : "false",
682         "hasDelTarget" : "false",
683         "SVC-INFRA" : "false"
684 },
685 {
686         "from" : "constrained-element-set",
687         "to" : "element-choice-set",
688         "label" : "uses",
689         "direction" : "OUT",
690         "multiplicity" : "One2Many",
691         "isParent" : "true",
692         "usesResource" : "false",
693         "hasDelTarget" : "false",
694         "SVC-INFRA" : "false"
695 },
696 {
697         "from" : "element-choice-set",
698         "to" : "model-element",
699         "label" : "has",
700         "direction" : "OUT",
701         "multiplicity" : "One2Many",
702         "isParent" : "true",
703         "usesResource" : "false",
704         "hasDelTarget" : "false",
705         "SVC-INFRA" : "false"
706 },
707 {
708         "from" : "named-query",
709         "to" : "model",
710         "label" : "relatedTo",
711         "direction" : "OUT",
712         "multiplicity" : "One2Many",
713         "isParent" : "false",
714         "usesResource" : "false",
715         "hasDelTarget" : "false",
716         "SVC-INFRA" : "false"
717 },
718 {
719         "from" : "named-query",
720         "to" : "named-query-element",
721         "label" : "startsWith",
722         "direction" : "OUT",
723         "multiplicity" : "One2One",
724         "isParent" : "true",
725         "usesResource" : "false",
726         "hasDelTarget" : "false",
727         "SVC-INFRA" : "false"
728 },
729 {
730         "from" : "named-query-element",
731         "to" : "named-query-element",
732         "label" : "connectsTo",
733         "direction" : "OUT",
734         "multiplicity" : "Many2Many",
735         "isParent" : "true",
736         "usesResource" : "false",
737         "hasDelTarget" : "false",
738         "SVC-INFRA" : "false"
739 },
740 {
741         "from" : "named-query-element",
742         "to" : "model",
743         "label" : "isA",
744         "direction" : "OUT",
745         "multiplicity" : "Many2One",
746         "isParent" : "false",
747         "usesResource" : "false",
748         "hasDelTarget" : "false",
749         "SVC-INFRA" : "false"
750 },
751 {
752         "from" : "named-query-element",
753         "to" : "property-constraint",
754         "label" : "uses",
755         "direction" : "OUT",
756         "multiplicity" : "One2Many",
757         "isParent" : "true",
758         "usesResource" : "false",
759         "hasDelTarget" : "false",
760         "SVC-INFRA" : "false"
761 },
762 {
763         "from" : "named-query-element",
764         "to" : "related-lookup",
765         "label" : "uses",
766         "direction" : "OUT",
767         "multiplicity" : "One2Many",
768         "isParent" : "true",
769         "usesResource" : "false",
770         "hasDelTarget" : "false",
771         "SVC-INFRA" : "false"
772 },
773 {
774         "from" : "newvce",
775         "to" : "l-interface",
776         "label" : "hasLInterface",
777         "direction" : "OUT",
778         "multiplicity" : "Many2Many",
779         "isParent" : "true",
780         "usesResource" : "false",
781         "hasDelTarget" : "false",
782         "SVC-INFRA" : "false"
783 },
784 {
785         "from" : "oam-network",
786         "to" : "complex",
787         "label" : "definedFor",
788         "direction" : "OUT",
789         "multiplicity" : "Many2Many",
790         "isParent" : "false",
791         "usesResource" : "false",
792         "hasDelTarget" : "false",
793         "SVC-INFRA" : "false"
794 },
795 {
796         "from" : "oam-network",
797         "to" : "service-capability",
798         "label" : "supportsServiceCapability",
799         "direction" : "OUT",
800         "multiplicity" : "Many2Many",
801         "isParent" : "false",
802         "usesResource" : "false",
803         "hasDelTarget" : "false",
804         "SVC-INFRA" : "false"
805 },
806 {
807         "from" : "p-interface",
808         "to" : "l-interface",
809         "label" : "hasLInterface",
810         "direction" : "OUT",
811         "multiplicity" : "Many2Many",
812         "isParent" : "true",
813         "usesResource" : "false",
814         "hasDelTarget" : "false",
815         "SVC-INFRA" : "true"
816 },
817 {
818         "from" : "p-interface",
819         "to" : "physical-link",
820         "label" : "usesPhysicalLink",
821         "direction" : "OUT",
822         "multiplicity" : "Many2Many",
823         "isParent" : "false",
824         "usesResource" : "false",
825         "hasDelTarget" : "true",
826         "SVC-INFRA" : "false"
827 },
828 {
829         "from" : "p-interface",
830         "to" : "logical-link",
831         "label" : "usesLogicalLink",
832         "direction" : "OUT",
833         "multiplicity" : "Many2One",
834         "isParent" : "false",
835         "usesResource" : "false",
836         "hasDelTarget" : "false",
837         "SVC-INFRA" : "true"
838 },
839 {
840         "from" : "port-group",
841         "to" : "cvlan-tag",
842         "label" : "hasCTag",
843         "direction" : "OUT",
844         "multiplicity" : "Many2Many",
845         "isParent" : "true",
846         "usesResource" : "true",
847         "hasDelTarget" : "false",
848         "SVC-INFRA" : "true"
849 },
850 {
851         "from" : "pserver",
852         "to" : "complex",
853         "label" : "locatedIn",
854         "direction" : "OUT",
855         "multiplicity" : "Many2One",
856         "isParent" : "false",
857         "usesResource" : "false",
858         "hasDelTarget" : "false",
859         "SVC-INFRA" : "true"
860 },
861 {
862         "from" : "pserver",
863         "to" : "cloud-region",
864         "label" : "locatedIn",
865         "direction" : "OUT",
866         "multiplicity" : "Many2One",
867         "isParent" : "false",
868         "usesResource" : "false",
869         "hasDelTarget" : "false",
870         "SVC-INFRA" : "true"
871 },
872 {
873         "from" : "pserver",
874         "to" : "availability-zone",
875         "label" : "existsIn",
876         "direction" : "OUT",
877         "multiplicity" : "Many2One",
878         "isParent" : "false",
879         "usesResource" : "false",
880         "hasDelTarget" : "false",
881         "SVC-INFRA" : "true"
882 },
883 {
884         "from" : "pserver",
885         "to" : "lag-interface",
886         "label" : "hasLAGInterface",
887         "direction" : "OUT",
888         "multiplicity" : "Many2Many",
889         "isParent" : "true",
890         "usesResource" : "false",
891         "hasDelTarget" : "false",
892         "SVC-INFRA" : "true"
893 },
894 {
895         "from" : "pserver",
896         "to" : "p-interface",
897         "label" : "hasPinterface",
898         "direction" : "OUT",
899         "multiplicity" : "Many2Many",
900         "isParent" : "true",
901         "usesResource" : "true",
902         "hasDelTarget" : "false",
903         "SVC-INFRA" : "true"
904 },
905 {
906         "from" : "pnf",
907         "to" : "p-interface",
908         "label" : "hasPinterface",
909         "direction" : "OUT",
910         "multiplicity" : "Many2Many",
911         "isParent" : "true",
912         "usesResource" : "true",
913         "hasDelTarget" : "false",
914         "SVC-INFRA" : "true"
915 },
916 {
917         "from" : "pnf",
918         "to" : "lag-interface",
919         "label" : "has",
920         "direction" : "OUT",
921         "multiplicity" : "One2Many",
922         "isParent" : "true",
923         "usesResource" : "false",
924         "hasDelTarget" : "false",
925         "SVC-INFRA" : "true"
926 },
927 {
928         "from" : "pnf",
929         "to" : "complex",
930         "label" : "locatedIn",
931         "direction" : "OUT",
932         "multiplicity" : "Many2One",
933         "isParent" : "false",
934         "usesResource" : "false",
935         "hasDelTarget" : "false",
936         "SVC-INFRA" : "false"
937 },
938 {
939         "from" : "service-instance",
940         "to" : "cvlan-tag",
941         "label" : "hasIPAGFacingVLAN",
942         "direction" : "OUT",
943         "multiplicity" : "Many2Many",
944         "isParent" : "false",
945         "usesResource" : "true",
946         "hasDelTarget" : "false",
947         "SVC-INFRA" : "false"
948 },
949 {
950         "from" : "service-subscription",
951         "to" : "service-instance",
952         "label" : "hasInstance",
953         "direction" : "OUT",
954         "multiplicity" : "Many2Many",
955         "isParent" : "true",
956         "usesResource" : "false",
957         "hasDelTarget" : "false",
958         "SVC-INFRA" : "reverse"
959 },
960 {
961         "from" : "site-pair-set",
962         "to" : "routing-instance",
963         "label" : "hasRoutingInstance",
964         "direction" : "OUT",
965         "multiplicity" : "Many2Many",
966         "isParent" : "true",
967         "usesResource" : "false",
968         "hasDelTarget" : "false",
969         "SVC-INFRA" : "false"
970 },
971 {
972         "from" : "routing-instance",
973         "to" : "site-pair",
974         "label" : "hasSitePair",
975         "direction" : "OUT",
976         "multiplicity" : "Many2Many",
977         "isParent" : "true",
978         "usesResource" : "false",
979         "hasDelTarget" : "false",
980         "SVC-INFRA" : "false"
981 },
982 {
983         "from" : "site-pair",
984         "to" : "class-of-service",
985         "label" : "hasClassOfService",
986         "direction" : "OUT",
987         "multiplicity" : "Many2Many",
988         "isParent" : "true",
989         "usesResource" : "false",
990         "hasDelTarget" : "false",
991         "SVC-INFRA" : "false"
992 },
993 {
994         "from" : "tenant",
995         "to" : "l3-network",
996         "label" : "usesL3Network",
997         "direction" : "OUT",
998         "multiplicity" : "Many2Many",
999         "isParent" : "false",
1000         "usesResource" : "false",
1001         "hasDelTarget" : "false",
1002         "SVC-INFRA" : "false"
1003 },
1004 {
1005         "from" : "tenant",
1006         "to" : "service-subscription",
1007         "label" : "relatedTo",
1008         "direction" : "OUT",
1009         "multiplicity" : "Many2Many",
1010         "isParent" : "false",
1011         "usesResource" : "false",
1012         "hasDelTarget" : "false",
1013         "SVC-INFRA" : "false"
1014 },
1015 {
1016         "from" : "tenant",
1017         "to" : "vserver",
1018         "label" : "owns",
1019         "direction" : "OUT",
1020         "multiplicity" : "One2Many",
1021         "isParent" : "true",
1022         "usesResource" : "false",
1023         "hasDelTarget" : "false",
1024         "SVC-INFRA" : "reverse"
1025 },
1026 {
1027         "from" : "vce",
1028         "to" : "availability-zone",
1029         "label" : "hasAvailabilityZone",
1030         "direction" : "OUT",
1031         "multiplicity" : "Many2Many",
1032         "isParent" : "false",
1033         "usesResource" : "false",
1034         "hasDelTarget" : "false",
1035         "SVC-INFRA" : "false"
1036 },
1037 {
1038         "from" : "vce",
1039         "to" : "complex",
1040         "label" : "locatedIn",
1041         "direction" : "OUT",
1042         "multiplicity" : "Many2Many",
1043         "isParent" : "false",
1044         "usesResource" : "false",
1045         "hasDelTarget" : "false",
1046         "SVC-INFRA" : "true"
1047 },
1048 {
1049         "from" : "vce",
1050         "to" : "port-group",
1051         "label" : "hasPortGroup",
1052         "direction" : "OUT",
1053         "multiplicity" : "Many2Many",
1054         "isParent" : "true",
1055         "usesResource" : "true",
1056         "hasDelTarget" : "false",
1057         "SVC-INFRA" : "true"
1058 },
1059 {
1060         "from" : "vce",
1061         "to" : "vserver",
1062         "label" : "runsOnVserver",
1063         "direction" : "OUT",
1064         "multiplicity" : "Many2Many",
1065         "isParent" : "false",
1066         "usesResource" : "true",
1067         "hasDelTarget" : "false",
1068         "SVC-INFRA" : "true"
1069 },
1070 {
1071         "from" : "vce",
1072         "to" : "service-instance",
1073         "label" : "hasServiceInstance",
1074         "direction" : "OUT",
1075         "multiplicity" : "Many2Many",
1076         "isParent" : "false",
1077         "usesResource" : "false",
1078         "hasDelTarget" : "false",
1079         "SVC-INFRA" : "reverse"
1080 },
1081 {
1082         "from" : "virtual-data-center",
1083         "to" : "generic-vnf",
1084         "label" : "hasVNF",
1085         "direction" : "OUT",
1086         "multiplicity" : "Many2Many",
1087         "isParent" : "false",
1088         "usesResource" : "false",
1089         "hasDelTarget" : "false",
1090         "SVC-INFRA" : "reverse"
1091 },
1092 {
1093         "from" : "vlan",
1094         "to" : "l3-interface-ipv4-address-list",
1095         "label" : "hasIpAddress",
1096         "direction" : "OUT",
1097         "multiplicity" : "Many2Many",
1098         "isParent" : "true",
1099         "usesResource" : "false",
1100         "hasDelTarget" : "false",
1101         "SVC-INFRA" : "true"
1102 },
1103 {
1104         "from" : "vlan",
1105         "to" : "l3-interface-ipv6-address-list",
1106         "label" : "hasIpAddress",
1107         "direction" : "OUT",
1108         "multiplicity" : "Many2Many",
1109         "isParent" : "true",
1110         "usesResource" : "false",
1111         "hasDelTarget" : "false",
1112         "SVC-INFRA" : "true"
1113 },
1114 {
1115         "from" : "vpe",
1116         "to" : "complex",
1117         "label" : "locatedIn",
1118         "direction" : "OUT",
1119         "multiplicity" : "Many2Many",
1120         "isParent" : "false",
1121         "usesResource" : "false",
1122         "hasDelTarget" : "false",
1123         "SVC-INFRA" : "false"
1124 },
1125 {
1126         "from" : "vpe",
1127         "to" : "ctag-pool",
1128         "label" : "usesCtagPool",
1129         "direction" : "OUT",
1130         "multiplicity" : "Many2Many",
1131         "isParent" : "false",
1132         "usesResource" : "false",
1133         "hasDelTarget" : "false",
1134         "SVC-INFRA" : "false"
1135 },
1136 {
1137         "from" : "vpe",
1138         "to" : "l-interface",
1139         "label" : "hasLInterface",
1140         "direction" : "OUT",
1141         "multiplicity" : "Many2Many",
1142         "isParent" : "true",
1143         "usesResource" : "false",
1144         "hasDelTarget" : "false",
1145         "SVC-INFRA" : "false"
1146 },
1147 {
1148         "from" : "vpe",
1149         "to" : "lag-interface",
1150         "label" : "hasLAGInterface",
1151         "direction" : "OUT",
1152         "multiplicity" : "Many2Many",
1153         "isParent" : "true",
1154         "usesResource" : "false",
1155         "hasDelTarget" : "false",
1156         "SVC-INFRA" : "false"
1157 },
1158 {
1159         "from" : "vpe",
1160         "to" : "vserver",
1161         "label" : "runsOnVserver",
1162         "direction" : "OUT",
1163         "multiplicity" : "Many2Many",
1164         "isParent" : "false",
1165         "usesResource" : "true",
1166         "hasDelTarget" : "false",
1167         "SVC-INFRA" : "false"
1168 },
1169 {
1170         "from" : "vpls-pe",
1171         "to" : "complex",
1172         "label" : "locatedIn",
1173         "direction" : "OUT",
1174         "multiplicity" : "Many2Many",
1175         "isParent" : "false",
1176         "usesResource" : "false",
1177         "hasDelTarget" : "false",
1178         "SVC-INFRA" : "false"
1179 },
1180 {
1181         "from" : "vpls-pe",
1182         "to" : "ctag-pool",
1183         "label" : "usesCtagPool",
1184         "direction" : "OUT",
1185         "multiplicity" : "Many2Many",
1186         "isParent" : "false",
1187         "usesResource" : "false",
1188         "hasDelTarget" : "false",
1189         "SVC-INFRA" : "false"
1190 },
1191 {
1192         "from" : "vpls-pe",
1193         "to" : "p-interface",
1194         "label" : "hasPinterface",
1195         "direction" : "OUT",
1196         "multiplicity" : "Many2Many",
1197         "isParent" : "true",
1198         "usesResource" : "false",
1199         "hasDelTarget" : "false",
1200         "SVC-INFRA" : "false"
1201 },
1202 {
1203         "from" : "vpls-pe",
1204         "to" : "lag-interface",
1205         "label" : "hasLAGinterface",
1206         "direction" : "OUT",
1207         "multiplicity" : "Many2Many",
1208         "isParent" : "true",
1209         "usesResource" : "false",
1210         "hasDelTarget" : "false",
1211         "SVC-INFRA" : "false"
1212 },
1213 {
1214         "from" : "vserver",
1215         "to" : "flavor",
1216         "label" : "hasFlavor",
1217         "direction" : "OUT",
1218         "multiplicity" : "Many2One",
1219         "isParent" : "false",
1220         "usesResource" : "false",
1221         "hasDelTarget" : "false",
1222         "SVC-INFRA" : "true"
1223 },
1224 {
1225         "from" : "vserver",
1226         "to" : "image",
1227         "label" : "hasImage",
1228         "direction" : "OUT",
1229         "multiplicity" : "Many2One",
1230         "isParent" : "false",
1231         "usesResource" : "false",
1232         "hasDelTarget" : "false",
1233         "SVC-INFRA" : "true"
1234 },
1235 {
1236         "from" : "vserver",
1237         "to" : "ipaddress",
1238         "label" : "hasIpAddress",
1239         "direction" : "OUT",
1240         "multiplicity" : "Many2Many",
1241         "isParent" : "true",
1242         "usesResource" : "true",
1243         "hasDelTarget" : "false",
1244         "SVC-INFRA" : "false"
1245 },
1246 {
1247         "from" : "vserver",
1248         "to" : "l-interface",
1249         "label" : "hasLInterface",
1250         "direction" : "OUT",
1251         "multiplicity" : "Many2Many",
1252         "isParent" : "true",
1253         "usesResource" : "false",
1254         "hasDelTarget" : "false",
1255         "SVC-INFRA" : "true"
1256 },
1257 {
1258         "from" : "vserver",
1259         "to" : "pserver",
1260         "label" : "runsOnPserver",
1261         "direction" : "OUT",
1262         "multiplicity" : "Many2One",
1263         "isParent" : "false",
1264         "usesResource" : "true",
1265         "hasDelTarget" : "false",
1266         "SVC-INFRA" : "true"
1267 },
1268 {
1269         "from" : "vserver",
1270         "to" : "volume",
1271         "label" : "hasVolume",
1272         "direction" : "OUT",
1273         "multiplicity" : "Many2Many",
1274         "isParent" : "true",
1275         "usesResource" : "true",
1276         "hasDelTarget" : "false",
1277         "SVC-INFRA" : "true"
1278 },
1279 {
1280         "from" : "vserver",
1281         "to" : "vnfc",
1282         "label" : "hosts",
1283         "direction" : "OUT",
1284         "multiplicity" : "Many2Many",
1285         "isParent" : "false",
1286         "usesResource" : "true",
1287         "hasDelTarget" : "false",
1288         "SVC-INFRA" : "true"
1289 },
1290 {
1291         "from" : "vserver",
1292         "to" : "snapshot",
1293         "label" : "uses",
1294         "direction" : "OUT",
1295         "multiplicity" : "One2One",
1296         "isParent" : "false",
1297         "usesResource" : "false",
1298         "hasDelTarget" : "false",
1299         "SVC-INFRA" : "true"
1300 },
1301 {
1302         "from" : "service-instance",
1303         "to" : "connector",
1304         "label" : "uses",
1305         "direction" : "OUT",
1306         "multiplicity" : "Many2Many",
1307         "isParent" : "false",
1308         "usesResource" : "true",
1309         "hasDelTarget" : "false",
1310         "SVC-INFRA" : "false"
1311 },
1312 {
1313         "from" : "service-instance",
1314         "to" : "metadatum",
1315         "label" : "hasMetaData",
1316         "direction" : "OUT",
1317         "multiplicity" : "Many2Many",
1318         "isParent" : "true",
1319         "usesResource" : "false",
1320         "hasDelTarget" : "false",
1321         "SVC-INFRA" : "false"
1322 },
1323 {
1324         "from" : "service-instance",
1325         "to" : "logical-link",
1326         "label" : "uses",
1327         "direction" : "OUT",
1328         "multiplicity" : "Many2Many",
1329         "isParent" : "false",
1330         "usesResource" : "false",
1331         "hasDelTarget" : "true",
1332         "SVC-INFRA" : "false"
1333 },
1334 {
1335         "from" : "service-instance",
1336         "to" : "vlan",
1337         "label" : "dependsOn",
1338         "direction" : "OUT",
1339         "multiplicity" : "One2Many",
1340         "isParent" : "false",
1341         "usesResource" : "true",
1342         "hasDelTarget" : "false",
1343         "SVC-INFRA" : "false"
1344 },
1345 {
1346         "from" : "service-instance",
1347         "to" : "service-instance",
1348         "label" : "dependsOn",
1349         "direction" : "OUT",
1350         "multiplicity" : "One2Many",
1351         "isParent" : "false",
1352         "usesResource" : "true",
1353         "hasDelTarget" : "false",
1354         "SVC-INFRA" : "false"
1355 },
1356 {
1357         "from" : "connector",
1358         "to" : "virtual-data-center",
1359         "label" : "contains",
1360         "direction" : "OUT",
1361         "multiplicity" : "Many2Many",
1362         "isParent" : "false",
1363         "usesResource" : "false",
1364         "hasDelTarget" : "false",
1365         "SVC-INFRA" : "false"
1366 },
1367 {
1368         "from" : "connector",
1369         "to" : "metadatum",
1370         "label" : "hasMetaData",
1371         "direction" : "OUT",
1372         "multiplicity" : "Many2Many",
1373         "isParent" : "true",
1374         "usesResource" : "false",
1375         "hasDelTarget" : "false",
1376         "SVC-INFRA" : "false"
1377 },
1378 {
1379         "from" : "virtual-data-center",
1380         "to" : "logical-link",
1381         "label" : "contains",
1382         "direction" : "OUT",
1383         "multiplicity" : "Many2Many",
1384         "isParent" : "false",
1385         "usesResource" : "true",
1386         "hasDelTarget" : "false",
1387         "SVC-INFRA" : "false"
1388 },
1389 {
1390         "from" : "logical-link",
1391         "to" : "generic-vnf",
1392         "label" : "bridgedTo",
1393         "direction" : "OUT",
1394         "multiplicity" : "Many2Many",
1395         "isParent" : "false",
1396         "usesResource" : "false",
1397         "hasDelTarget" : "false",
1398         "SVC-INFRA" : "false"
1399 },
1400 {
1401         "from" : "logical-link",
1402         "to" : "pserver",
1403         "label" : "bridgedTo",
1404         "direction" : "OUT",
1405         "multiplicity" : "Many2Many",
1406         "isParent" : "false",
1407         "usesResource" : "false",
1408         "hasDelTarget" : "false",
1409         "SVC-INFRA" : "false"
1410 },
1411 {
1412         "from" : "vlan",
1413         "to" : "multicast-configuration",
1414         "label" : "uses",
1415         "direction" : "OUT",
1416         "multiplicity" : "Many2Many",
1417         "isParent" : "false",
1418         "usesResource" : "true",
1419         "hasDelTarget" : "false",
1420         "SVC-INFRA" : "false"
1421 },
1422 {
1423         "from" : "volume-group",
1424         "to" : "complex",
1425         "label" : "existsIn",
1426         "direction" : "OUT",
1427         "multiplicity" : "Many2Many",
1428         "isParent" : "false",
1429         "usesResource" : "false",
1430         "hasDelTarget" : "false",
1431         "SVC-INFRA" : "true"
1432 },
1433 {
1434         "from" : "volume-group",
1435         "to" : "tenant",
1436         "label" : "belongsTo",
1437         "direction" : "OUT",
1438         "multiplicity" : "Many2Many",
1439         "isParent" : "false",
1440         "usesResource" : "false",
1441         "hasDelTarget" : "false",
1442         "SVC-INFRA" : "true"
1443 },
1444 {
1445         "from" : "ipsec-configuration",
1446         "to" : "vig-server",
1447         "label" : "hasVigServer",
1448         "direction" : "OUT",
1449         "multiplicity" : "One2Many",
1450         "isParent" : "true",
1451         "usesResource" : "true",
1452         "hasDelTarget" : "false",
1453         "SVC-INFRA" : "false"
1454 },
1455 {
1456         "from" : "generic-vnf",
1457         "to" : "ipsec-configuration",
1458         "label" : "uses",
1459         "direction" : "OUT",
1460         "multiplicity" : "Many2One",
1461         "isParent" : "false",
1462         "usesResource" : "true",
1463         "hasDelTarget" : "false",
1464         "SVC-INFRA" : "false"
1465 },
1466 {
1467         "from" : "vf-module",
1468         "to" : "volume-group",
1469         "label" : "uses",
1470         "direction" : "OUT",
1471         "multiplicity" : "One2One",
1472         "isParent" : "false",
1473         "usesResource" : "false",
1474         "hasDelTarget" : "false",
1475         "SVC-INFRA" : "true"
1476 },
1477 {
1478         "from" : "vserver",
1479         "to" : "vf-module",
1480         "label" : "isPartOf",
1481         "direction" : "OUT",
1482         "multiplicity" : "Many2One",
1483         "isParent" : "false",
1484         "usesResource" : "false",
1485         "hasDelTarget" : "false",
1486         "SVC-INFRA" : "true"
1487 },
1488 {
1489         "from" : "vf-module",
1490         "to" : "l3-network",
1491         "label" : "uses",
1492         "direction" : "OUT",
1493         "multiplicity" : "Many2Many",
1494         "isParent" : "false",
1495         "usesResource" : "false",
1496         "hasDelTarget" : "false",
1497         "SVC-INFRA" : "true"
1498 },
1499 {
1500         "from" : "vf-module",
1501         "to" : "vnfc",
1502         "label" : "uses",
1503         "direction" : "OUT",
1504         "multiplicity" : "One2Many",
1505         "isParent" : "false",
1506         "usesResource" : "false",
1507         "hasDelTarget" : "true",
1508         "SVC-INFRA" : "true"
1509 },
1510 {
1511         "from" : "generic-vnf",
1512         "to" : "vf-module",
1513         "label" : "has",
1514         "direction" : "OUT",
1515         "multiplicity" : "One2Many",
1516         "isParent" : "true",
1517         "usesResource" : "false",
1518         "hasDelTarget" : "false",
1519         "SVC-INFRA" : "true"
1520 },
1521 {
1522         "from" : "generic-vnf",
1523         "to" : "volume-group",
1524         "label" : "uses",
1525         "direction" : "OUT",
1526         "multiplicity" : "One2Many",
1527         "isParent" : "false",
1528         "usesResource" : "false",
1529         "hasDelTarget" : "false",
1530         "SVC-INFRA" : "true"
1531 },
1532 {
1533         "from" : "generic-vnf",
1534         "to" : "vnfc",
1535         "label" : "uses",
1536         "direction" : "OUT",
1537         "multiplicity" : "One2Many",
1538         "isParent" : "false",
1539         "usesResource" : "false",
1540         "hasDelTarget" : "true",
1541         "SVC-INFRA" : "true"
1542 },
1543 {
1544         "from" : "vlan",
1545         "to" : "logical-link",
1546         "label" : "usesLogicalLink",
1547         "direction" : "OUT",
1548         "multiplicity" : "One2One",
1549         "isParent" : "false",
1550         "usesResource" : "false",
1551         "hasDelTarget" : "true",
1552         "SVC-INFRA" : "true"
1553 }
1554 ]
1555 }