Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_port-mirror-topology-operation-create-vnfcs.xml
1 <service-logic
2     xmlns='http://www.onap.org/sdnc/svclogic'
3     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>
4     <method rpc='port-mirror-topology-operation-create-vnfcs' mode='sync'>
5         <block atomic="true">
6             <set>
7                 <parameter name='tmp.vnfc-objects-idx' value='0' />
8             </set>
9             <for silentFailure='true' index='src-li-idx' start='0' end='`$tmp.AnAI-data.src-li.results_length`' >
10                 <switch test='`$tmp.AnAI-data.src-li.results[$src-li-idx].vnfc.vnfc-name`'>
11                     <outcome value=''>
12                         <block atomic="true"></block>
13                     </outcome>
14                     <outcome value='Other'>
15                         <block atomic="true">
16                             <set>
17                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnfc-key'
18   value='`$tmp.AnAI-data.src-li.results[$src-li-idx].vnfc.vnfc-name`' />
19                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnfc-name'
20   value='`$tmp.AnAI-data.src-li.results[$src-li-idx].vnfc.vnfc-name`' />
21                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnf-id'
22   value='`$tmp.src-vnf-id`' />
23                             </set>
24                             <set>
25                                 <parameter name='tmp.vserver-id' value='0' />
26                             </set>
27                             <for index='rel-idx' start='0' end='`$tmp.AnAI-data.src-li.results[$src-li-idx].vnfc.relationship-list.relationship_length`' >
28                                 <switch test="`$tmp.AnAI-data.src-li.results[$src-li-idx].vnfc.relationship-list.relationship[$rel-idx].related-to == 'vserver'`">
29                                     <outcome value='true'>
30                                         <for index='reldata-idx' start='0' end='`$tmp.AnAI-data.src-li.results[$src-li-idx].vnfc.relationship-list.relationship[$rel-idx].relationship-data_length`' >
31                                             <switch test="`$tmp.AnAI-data.src-li.results[$src-li-idx].vnfc.relationship-list.relationship[$rel-idx].relationship-data[$reldata-idx].relationship-key == 'vserver.vserver-id'`">
32                                                 <outcome value='true'>
33                                                     <set>
34                                                         <parameter name='tmp.vserver-id' value='`$tmp.AnAI-data.src-li.results[$src-li-idx].vnfc.relationship-list.relationship[$rel-idx].relationship-data[$reldata-idx].relationship-value`' />
35                                                     </set>
36                                                 </outcome>
37                                             </switch>
38                                         </for>
39                                     </outcome>
40                                 </switch>
41                             </for>
42                             <switch test='`$tmp.vserver-id == 0`'>
43                                 <outcome value='true'>
44                                     <block atomic="true">
45                                         <return status='failure'>
46                                             <parameter name='error-code' value='500' />
47                                             <parameter name='error-message' value="`'Unable to find vserver related to vnfc ' + $tmp.AnAI-data.src-li.results[$src-li-idx].vnfc.vnfc-name`" />
48                                         </return>
49                                     </block>
50                                 </outcome>
51                             </switch>
52                             <for index='src-vs-idx' start='0' end='`$tmp.AnAI-data.src-li.results_length`' >
53                                 <switch test='`$tmp.AnAI-data.src-li.results[$src-vs-idx].vserver.vserver-id == $tmp.vserver-id`'>
54                                     <outcome value='true'>
55                                         <block atomic="true">
56                                             <set>
57                                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vserver-name'
58   value='`$tmp.AnAI-data.src-li.results[$src-vs-idx].vserver.vserver-name`' />
59                                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vserver-id'
60   value='`$tmp.AnAI-data.src-li.results[$src-vs-idx].vserver.vserver-id`' />
61                                                 <parameter name='tmp.vs-idx' value='`$src-vs-idx`' />
62                                             </set>
63                                         </block>
64                                     </outcome>
65                                 </switch>
66                             </for>
67                             <set>
68                                 <parameter name='tmp.interface-ids_length' value='0' />
69                             </set>
70                             <for silentFailure='true' index='src-vli-idx' start='0' end='`$tmp.AnAI-data.src-li.results[$tmp.vs-idx].vserver.l-interfaces.l-interface_length`' >
71                                 <switch test='`$tmp.AnAI-data.src-li.results[$tmp.vs-idx].vserver.l-interfaces.l-interface[$src-vli-idx].network-name == $tmp.src-network-name`'>
72                                     <outcome value='true'>
73                                         <set>
74                                             <parameter name='tmp.interface-ids[$tmp.interface-ids_length].interface-id' value='`$tmp.AnAI-data.src-li.results[$tmp.vs-idx].vserver.l-interfaces.l-interface[$src-vli-idx].interface-id`' />
75                                             <parameter name='tmp.interface-ids_length' value='`$tmp.interface-ids_length + 1`' />
76                                         </set>
77                                     </outcome>
78                                 </switch>
79                             </for>
80                             <set>
81                                 <parameter name='tmp.vnic-idx' value='0' />
82                             </set>
83                             <for silentFailure='true' index='src-rs-idx' start='0' end='`$tmp.AnAI-data.src-li.results_length`' >
84                                 <switch test='`$tmp.AnAI-data.src-li.results[$src-rs-idx].l-interface.interface-name`'>
85                                     <outcome value=''>
86                                         <block></block>
87                                     </outcome>
88                                     <outcome value='Other'>
89                                         <for index='in-idx' start='0' end='`$tmp.interface-ids_length`' >
90                                             <switch test='`$tmp.AnAI-data.src-li.results[$src-rs-idx].l-interface.interface-id == $tmp.interface-ids[$in-idx].interface-id`'>
91                                                 <outcome value='true'>
92                                                     <block atomic="true">
93                                                         <set>
94                                                             <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].vnic-port-id'
95   value='`$tmp.AnAI-data.src-li.results[$src-rs-idx].l-interface.interface-id`' />
96                                                             <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].vnic-port-name'
97   value='`$tmp.AnAI-data.src-li.results[$src-rs-idx].l-interface.interface-name`' />
98                                                             <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].capacity.vnic-capacity'
99   value='`$tmp.src-pps`' />
100                                                             <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].capacity.used-capacity'
101   value='0' />
102                                                         </set>
103                                                         <switch test='`$tmp.AnAI-data.src-li.results[$src-rs-idx].l-interface.l3-interface-ipv4-address-list[0].l3-interface-ipv4-address`'>
104                                                             <outcome value=''>
105                                                                 <block></block>
106                                                             </outcome>
107                                                             <outcome value='Other'>
108                                                                 <set>
109                                                                     <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].vnic-ip-addresses.ip-addresses.ipv4-address'
110   value='`$tmp.AnAI-data.src-li.results[$src-rs-idx].l-interface.l3-interface-ipv4-address-list[0].l3-interface-ipv4-address`' />
111                                                                 </set>
112                                                             </outcome>
113                                                         </switch>
114                                                         <switch test='`$tmp.AnAI-data.src-li.results[$src-rs-idx].l-interface.l3-interface-ipv6-address-list[0].l3-interface-ipv6-address`'>
115                                                             <outcome value=''>
116                                                                 <block></block>
117                                                             </outcome>
118                                                             <outcome value='Other'>
119                                                                 <set>
120                                                                     <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].vnic-ip-addresses.ip-addresses.ipv6-address'
121   value='`$tmp.AnAI-data.src-li.results[$src-rs-idx].l-interface.l3-interface-ipv6-address-list[0].l3-interface-ipv6-address`' />
122                                                                 </set>
123                                                             </outcome>
124                                                         </switch>
125                                                         <set>
126                                                             <parameter name='tmp.vnic-idx' value='`$tmp.vnic-idx + 1`' />
127                                                         </set>
128                                                     </block>
129                                                 </outcome>
130                                             </switch>
131                                         </for>
132                                     </outcome>
133                                 </switch>
134                             </for>
135                             <set>
136                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic_length' value='`$tmp.vnic-idx`' />
137                             </set>
138                             <set>
139                                 <parameter name='tmp.vnfc-objects-idx' value='`$tmp.vnfc-objects-idx + 1`' />
140                             </set>
141                         </block>
142                     </outcome>
143                 </switch>
144             </for>
145             <set>
146                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].vnfc-objects.vnfc-object_length' value='`$tmp.vnfc-objects-idx`' />
147             </set>
148             <set>
149                 <parameter name='tmp.vnfc-objects-idx' value='0' />
150             </set>
151             <for silentFailure='true' index='dest-li-idx' start='0' end='`$tmp.AnAI-data.dest-li.results_length`' >
152                 <switch test='`$tmp.AnAI-data.dest-li.results[$dest-li-idx].vnfc.vnfc-name`'>
153                     <outcome value=''>
154                         <block atomic="true"></block>
155                     </outcome>
156                     <outcome value='Other'>
157                         <block atomic="true">
158                             <set>
159                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnfc-key'
160   value='`$tmp.AnAI-data.dest-li.results[$dest-li-idx].vnfc.vnfc-name`' />
161                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnfc-name'
162   value='`$tmp.AnAI-data.dest-li.results[$dest-li-idx].vnfc.vnfc-name`' />
163                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnf-id'
164   value='`$tmp.dest-vnf-id`' />
165                             </set>
166                             <set>
167                                 <parameter name='tmp.vserver-id' value='0' />
168                             </set>
169                             <for index='rel-idx' start='0' end='`$tmp.AnAI-data.dest-li.results[$dest-li-idx].vnfc.relationship-list.relationship_length`' >
170                                 <switch test="`$tmp.AnAI-data.dest-li.results[$dest-li-idx].vnfc.relationship-list.relationship[$rel-idx].related-to == 'vserver'`">
171                                     <outcome value='true'>
172                                         <for index='reldata-idx' start='0' end='`$tmp.AnAI-data.dest-li.results[$dest-li-idx].vnfc.relationship-list.relationship[$rel-idx].relationship-data_length`' >
173                                             <switch test="`$tmp.AnAI-data.dest-li.results[$dest-li-idx].vnfc.relationship-list.relationship[$rel-idx].relationship-data[$reldata-idx].relationship-key == 'vserver.vserver-id'`">
174                                                 <outcome value='true'>
175                                                     <set>
176                                                         <parameter name='tmp.vserver-id' value='`$tmp.AnAI-data.dest-li.results[$dest-li-idx].vnfc.relationship-list.relationship[$rel-idx].relationship-data[$reldata-idx].relationship-value`' />
177                                                     </set>
178                                                 </outcome>
179                                             </switch>
180                                         </for>
181                                     </outcome>
182                                 </switch>
183                             </for>
184                             <switch test='`$tmp.vserver-id == 0`'>
185                                 <outcome value='true'>
186                                     <block atomic="true">
187                                         <return status='failure'>
188                                             <parameter name='error-code' value='500' />
189                                             <parameter name='error-message' value="`'Unable to find vserver related to vnfc ' + $tmp.AnAI-data.dest-li.results[$dest-li-idx].vnfc.vnfc-name`" />
190                                         </return>
191                                     </block>
192                                 </outcome>
193                             </switch>
194                             <for index='dest-vs-idx' start='0' end='`$tmp.AnAI-data.dest-li.results_length`' >
195                                 <switch test='`$tmp.AnAI-data.dest-li.results[$dest-vs-idx].vserver.vserver-id == $tmp.vserver-id`'>
196                                     <outcome value='true'>
197                                         <block atomic="true">
198                                             <set>
199                                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vserver-name'
200   value='`$tmp.AnAI-data.dest-li.results[$dest-vs-idx].vserver.vserver-name`' />
201                                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vserver-id'
202   value='`$tmp.AnAI-data.dest-li.results[$dest-vs-idx].vserver.vserver-id`' />
203                                                 <parameter name='tmp.vs-idx' value='`$dest-vs-idx`' />
204                                             </set>
205                                         </block>
206                                     </outcome>
207                                 </switch>
208                             </for>
209                             <set>
210                                 <parameter name='tmp.interface-ids_length' value='0' />
211                             </set>
212                             <for silentFailure='true' index='dest-vli-idx' start='0' end='`$tmp.AnAI-data.dest-li.results[$tmp.vs-idx].vserver.l-interfaces.l-interface_length`' >
213                                 <switch test='`$tmp.AnAI-data.dest-li.results[$tmp.vs-idx].vserver.l-interfaces.l-interface[$dest-vli-idx].network-name == $tmp.dest-network-name`'>
214                                     <outcome value='true'>
215                                         <set>
216                                             <parameter name='tmp.interface-ids[$tmp.interface-ids_length].interface-id' value='`$tmp.AnAI-data.dest-li.results[$tmp.vs-idx].vserver.l-interfaces.l-interface[$dest-vli-idx].interface-id`' />
217                                             <parameter name='tmp.interface-ids_length' value='`$tmp.interface-ids_length + 1`' />
218                                         </set>
219                                     </outcome>
220                                 </switch>
221                             </for>
222                             <set>
223                                 <parameter name='tmp.vnic-idx' value='0' />
224                             </set>
225                             <for silentFailure='true' index='dest-rs-idx' start='0' end='`$tmp.AnAI-data.dest-li.results_length`' >
226                                 <switch test='`$tmp.AnAI-data.dest-li.results[$dest-rs-idx].l-interface.interface-name`'>
227                                     <outcome value=''>
228                                         <block></block>
229                                     </outcome>
230                                     <outcome value='Other'>
231                                         <for index='in-idx' start='0' end='`$tmp.interface-ids_length`' >
232                                             <switch test='`$tmp.AnAI-data.dest-li.results[$dest-rs-idx].l-interface.interface-id == $tmp.interface-ids[$in-idx].interface-id`'>
233                                                 <outcome value='true'>
234                                                     <block atomic="true">
235                                                         <set>
236                                                             <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].vnic-port-id'
237   value='`$tmp.AnAI-data.dest-li.results[$dest-rs-idx].l-interface.interface-id`' />
238                                                             <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].vnic-port-name'
239   value='`$tmp.AnAI-data.dest-li.results[$dest-rs-idx].l-interface.interface-name`' />
240                                                             <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].capacity.vnic-capacity'
241   value='`$tmp.dest-pps`' />
242                                                             <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].capacity.used-capacity'
243   value='0' />
244                                                         </set>
245                                                         <switch test='`$tmp.AnAI-data.dest-li.results[$dest-rs-idx].l-interface.l3-interface-ipv4-address-list[0].l3-interface-ipv4-address`'>
246                                                             <outcome value=''>
247                                                                 <block></block>
248                                                             </outcome>
249                                                             <outcome value='Other'>
250                                                                 <set>
251                                                                     <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].vnic-ip-addresses.ip-addresses.ipv4-address'
252   value='`$tmp.AnAI-data.dest-li.results[$dest-rs-idx].l-interface.l3-interface-ipv4-address-list[0].l3-interface-ipv4-address`' />
253                                                                 </set>
254                                                             </outcome>
255                                                         </switch>
256                                                         <switch test='`$tmp.AnAI-data.dest-li.results[$dest-rs-idx].l-interface.l3-interface-ipv6-address-list[0].l3-interface-ipv6-address`'>
257                                                             <outcome value=''>
258                                                                 <block></block>
259                                                             </outcome>
260                                                             <outcome value='Other'>
261                                                                 <set>
262                                                                     <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic[$tmp.vnic-idx].vnic-ip-addresses.ip-addresses.ipv6-address'
263   value='`$tmp.AnAI-data.dest-li.results[$dest-rs-idx].l-interface.l3-interface-ipv6-address-list[0].l3-interface-ipv6-address`' />
264                                                                 </set>
265                                                             </outcome>
266                                                         </switch>
267                                                         <set>
268                                                             <parameter name='tmp.vnic-idx' value='`$tmp.vnic-idx + 1`' />
269                                                         </set>
270                                                     </block>
271                                                 </outcome>
272                                             </switch>
273                                         </for>
274                                     </outcome>
275                                 </switch>
276                             </for>
277                             <set>
278                                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object[$tmp.vnfc-objects-idx].vnics.vnic_length' value='`$tmp.vnic-idx`' />
279                             </set>
280                             <set>
281                                 <parameter name='tmp.vnfc-objects-idx' value='`$tmp.vnfc-objects-idx + 1`' />
282                             </set>
283                         </block>
284                     </outcome>
285                 </switch>
286             </for>
287             <set>
288                 <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].vnfc-objects.vnfc-object_length' value='`$tmp.vnfc-objects-idx`' />
289             </set>
290             <return status='success'></return>
291         </block>
292     </method>
293 </service-logic>