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