Add OSM_SERVER and OSMUI_SQL_DATABASE_URI to Dockerfile
[osm/LW-UI.git] / lib / TopologyModels / osm / osm.yaml
1 name: Osm                            #Model name
2 description: Osm                    #Model description
3 version: 1.0                            #Model version
4 designer: Francesco Lombardo              #Model designer
5 nodes:                                  #List of nodes, with id and label used in the gui (We can add more fields)
6     vnf:
7         label: VNF
8     ns_vl:
9         label: VL
10     ns_cp:
11         label: SAP
12     vnf_vl:
13         label: intVL
14     vnf_vdu:
15         label: VDU
16     vnf_ext_cp:
17         label: ExtCP
18     vnf_vdu_cp:
19         label: VduCP
20 layer:                                  #List of Layers
21     ns:
22         nodes:                  #List of node to be visualized in the current layer
23             vnf:
24                 addable:
25                     callback: addVnf
26                 removable:
27                     callback: removeNode
28                 expands : vnf
29             ns_vl:
30                 addable:
31                     callback: addNode
32                 removable:
33                     callback: removeNode
34             ns_cp:
35                 addable:
36                     callback: addNode
37                 removable:
38                     callback: removeNode
39         allowed_edges:                  #List of allowed edges between the layer's nodes
40             vnf:                        #Edge's source
41                 destination:            #List of edge's destination with the list of controls callback id to call when there is a connections
42                     ns_vl:
43                         callback: linkVnftoNsVl
44                         direct_edge: false
45                         removable:
46                             callback: removeLink
47                     ns_cp:
48                         callback: linkVnftoNsCp
49                         direct_edge: false
50                         removable:
51                             callback: removeLink
52             ns_vl:
53                 destination:
54                     vnf:
55                         callback: linkVnftoNsVl
56                         direct_edge: false
57                         removable:
58                             callback: removeLink
59                     ns_cp:
60                         callback: nsCpExclusiveConnection
61                         direct_edge: false
62                         removable:
63                             callback: removeLink
64
65             ns_cp:
66                 destination:
67                     vnf:
68                         callback: linkVnftoNsCp
69                         direct_edge: false
70                         removable:
71                             callback: removeLink
72                     ns_vl:
73                         callback: nsCpExclusiveConnection
74                         direct_edge: false
75                         removable:
76                             callback: removeLink
77         action:           #Action to show on rightclick all types of node/link
78             node:
79                 addToCurrentVNFFG:
80                     title: Add to current VNFFG
81                     callback: addToCurrentVNFFG
82             link:
83
84     vnf:
85         nodes:                  #List of node to be visualized in the current layer
86             vnf_vl:
87                 addable:
88                     callback: addNode
89                 removable:
90                     callback: removeNode
91             vnf_vdu:
92                 addable:
93                     callback: addVnfVdu
94                 removable:
95                     callback: removeVnfVdu
96             vnf_ext_cp:
97                 addable:
98                     callback: addNode
99                 removable:
100                     callback: removeNode
101             vnf_vdu_cp:
102                 addable:
103                     callback: addVnfVduCp
104                 removable:
105                     callback: removeVnfVduCp
106         allowed_edges:                  #List of allowed edges between the layer's nodes
107             vnf_vl:                        #Edge's source
108                 destination:            #List of edge's destination with the list of controls callback id to call when there is a connections
109                     vnf_vdu_cp:
110                         callback: linkVltoVduCp
111                         direct_edge: false
112                         removable:
113                             callback: removeLink
114                     vnf_ext_cp:
115                         callback: linkVnfVltoExpCp
116                         direct_edge: false
117                         removable:
118                             callback: removeLink
119             vnf_ext_cp:
120                 destination:
121                     vnf_vl:
122                         callback: linkVnfVltoExpCp
123                         direct_edge: false
124                         removable:
125                             callback: removeLink
126             vnf_vdu_cp:
127                 destination:
128                     vnf_vl:
129                         callback: linkVltoVduCp
130                         direct_edge: false
131                         removable:
132                             callback: removeLink
133
134
135
136 callback:                             #List of callbacks used
137   chooseVnfExp:
138       file: osm_controller.js
139       class: OSMController
140   nsCpExclusiveConnection:
141       file: osm_controller.js
142       class: OSMController
143   getVduConnectedToVduCp:
144       file: osm_controller.js
145       class: OSMController
146   addVnf:
147       file: osm_controller.js
148       class: OSMController
149   addNode:
150       file: osm_controller.js
151       class: OSMController
152   addVnfVdu:
153       file: osm_controller.js
154       class: OSMController
155   addVnfVduCp:
156       file: osm_controller.js
157       class: OSMController
158   addLink:
159       file: osm_controller.js
160       class: OSMController
161   linkVnftoNsCp:
162       file: osm_controller.js
163       class: OSMController
164   linkVnftoNsVl:
165       file: osm_controller.js
166       class: OSMController
167   linkVltoVduCp:
168       file: osm_controller.js
169       class: OSMController
170   linkVnfVltoExpCp:
171       file: osm_controller.js
172       class: OSMController
173   removeNode:
174       file: osm_controller.js
175       class: OSMController
176   removeVnfVdu:
177       file: osm_controller.js
178       class: OSMController
179   removeVnfVduCp:
180       file: osm_controller.js
181       class: OSMController
182   removeLink:
183       file: osm_controller.js
184       class: OSMController
185   addToCurrentVNFFG:
186       file: osm_controller.js
187       class: OSMController