Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_vf-module-topology-vlan-tagging-assign.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
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}'>\r
4     <method rpc='vf-module-topology-vlan-tagging-assign' mode='sync'>\r
5         <block atomic="true">\r
6             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
7   key="select distinct vmvm.vm_type, rg.group_uuid from VF_MODULE_TO_VFC_MAPPING vmvm, VFC_MODEL vm,\r
8   RESOURCE_GROUP_TO_TARGET_NODE_MAPPING rgm, RESOURCE_GROUP rg\r
9         where vf_module_customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid\r
10         and vmvm.vfc_customization_uuid = vm.customization_uuid\r
11         and vmvm.vm_type = vm.vm_type\r
12         and vm.uuid = rgm.target_node_uuid\r
13         and rgm.target_type = 'CVFC'\r
14         and rgm.group_uuid = rg.group_uuid"\r
15   pfx='db.group-uuids[]'>\r
16                 <outcome value='failure'>\r
17                     <block atomic="true">\r
18                         <return status='failure'>\r
19                             <parameter name='ack-final' value='Y'/>\r
20                             <parameter name="error-code" value="500" />\r
21                             <parameter name="error-message" value="System error getting group uuids from DB" />\r
22                         </return>\r
23                     </block>\r
24                 </outcome>\r
25                 <outcome value='not-found'>\r
26                     <block atomic="true"></block>\r
27                 </outcome>\r
28                 <outcome value='success'>\r
29                     <block atomic="true">\r
30                         <for index='group-index' start='0' end='`$db.group-uuids_length`' >\r
31                             <block atomic="true">\r
32                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
33   key="select attribute_name, attribute_value from ATTRIBUTE_VALUE_PAIR\r
34         where resource_uuid = $db.group-uuids[$group-index].group-uuid\r
35         and attribute_name in ('vfc_instance_group_function','vfc_parent_port_role','network_collection_function')"\r
36   pfx='db.parameters[]'>\r
37                                     <outcome value='failure'>\r
38                                         <return status='failure'>\r
39                                             <parameter name='ack-final' value='Y'/>\r
40                                             <parameter name="error-code" value="500" />\r
41                                             <parameter name="error-message" value="System error getting parameters from ATTRIBUTE_VALUE_PAIR table" />\r
42                                         </return>\r
43                                     </outcome>\r
44                                     <outcome value='not-found'>\r
45                                         <return status='failure'>\r
46                                             <parameter name='ack-final' value='Y'/>\r
47                                             <parameter name="error-code" value="500" />\r
48                                             <parameter name="error-message" value="`'Unable to find parameters ATTRIBUTE_VALUE_PAIR table for group ' + $db.group-uuids[$group-index].group-uuid`" />\r
49                                         </return>\r
50                                     </outcome>\r
51                                     <outcome value='success'>\r
52                                         <for index='parameter-index' start='0' end='`$db.parameters_length`' >\r
53                                             <switch test='`$db.parameters[$parameter-index].attribute-name`'>\r
54                                                 <outcome value='vfc_parent_port_role'>\r
55                                                     <set>\r
56                                                         <parameter name='db.group-uuids[$group-index].vfc_parent_port_role' value='`$db.parameters[$parameter-index].attribute-value`' />\r
57                                                     </set>\r
58                                                 </outcome>\r
59                                                 <outcome value='vfc_instance_group_function'>\r
60                                                     <block atomic="true">\r
61                                                         <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="startsWith" emitsOutcome='true' >\r
62                                                             <parameter name="source" value="`$db.parameters[$parameter-index].attribute-value`" />\r
63                                                             <parameter name="target" value="get_input=" />\r
64                                                             <outcome value='false'>\r
65                                                                 <return status='failure'>\r
66                                                                     <parameter name='ack-final' value='Y'/>\r
67                                                                     <parameter name="error-code" value="500" />\r
68                                                                     <parameter name="error-message"\r
69       value="`'Parameter value for '\r
70         + $db.parameters[$parameter-index].attribute-name\r
71         + ' is '\r
72         + $db.parameters[$parameter-index].attribute-value\r
73         + ' but was expected to start with get_input='`" />\r
74                                                                 </return>\r
75                                                             </outcome>\r
76                                                             <outcome value='true'>\r
77                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>\r
78                                                                     <parameter name='result' value='tmp.truncated-value' />\r
79                                                                     <parameter name='string' value='`$db.parameters[$parameter-index].attribute-value`' />\r
80                                                                     <parameter name='begin-index' value='10' />\r
81                                                                 </execute>\r
82                                                             </outcome>\r
83                                                         </execute>\r
84                                                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
85   key="select attribute_value from VF_MODULE_MODEL vmm, VF_MODEL vf, ATTRIBUTE_VALUE_PAIR avp\r
86         where vmm.customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid\r
87         and vmm.vf_customization_uuid = vf.customization_uuid\r
88         and vf.uuid = avp.resource_uuid\r
89         and vmm.vf_customization_uuid = avp.resource_customization_uuid\r
90         and avp.attribute_name = $tmp.truncated-value"\r
91   pfx='db.mapped-value'>\r
92                                                             <outcome value='failure'>\r
93                                                                 <return status='failure'>\r
94                                                                     <parameter name='ack-final' value='Y'/>\r
95                                                                     <parameter name="error-code" value="500" />\r
96                                                                     <parameter name="error-message"\r
97       value="`'System error retrieving mapped parameter value for '\r
98         + $db.parameters[$parameter-index].attribute-name`" />\r
99                                                                 </return>\r
100                                                             </outcome>\r
101                                                             <outcome value='not-found'>\r
102                                                                 <return status='failure'>\r
103                                                                     <parameter name='ack-final' value='Y'/>\r
104                                                                     <parameter name="error-code" value="500" />\r
105                                                                     <parameter name="error-message"\r
106       value="`'Unable to find mapped parameter value for '\r
107         + $db.parameters[$parameter-index].attribute-name\r
108         + ' value '\r
109         + $tmp.truncated-value`" />\r
110                                                                 </return>\r
111                                                             </outcome>\r
112                                                         </get-resource>\r
113                                                         <set>\r
114                                                             <parameter name='db.group-uuids[$group-index].vfc-instance-group-function' value='`$db.mapped-value.attribute-value`' />\r
115                                                         </set>\r
116                                                     </block>\r
117                                                 </outcome>\r
118                                                 <outcome value='network_collection_function'>\r
119                                                     <block atomic="true">\r
120                                                         <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="startsWith" emitsOutcome='true' >\r
121                                                             <parameter name="source" value="`$db.parameters[$parameter-index].attribute-value`" />\r
122                                                             <parameter name="target" value="get_input=" />\r
123                                                             <outcome value='false'>\r
124                                                                 <return status='failure'>\r
125                                                                     <parameter name='ack-final' value='Y'/>\r
126                                                                     <parameter name="error-code" value="500" />\r
127                                                                     <parameter name="error-message"\r
128       value="`'Parameter value for '\r
129         + $db.parameters[$parameter-index].attribute-name\r
130         + ' is '\r
131         + $db.parameters[$parameter-index].attribute-value\r
132         + ' but was expected to start with get_input='`" />\r
133                                                                 </return>\r
134                                                             </outcome>\r
135                                                             <outcome value='true'>\r
136                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='substring'>\r
137                                                                     <parameter name='result' value='tmp.truncated-value' />\r
138                                                                     <parameter name='string' value='`$db.parameters[$parameter-index].attribute-value`' />\r
139                                                                     <parameter name='begin-index' value='10' />\r
140                                                                 </execute>\r
141                                                             </outcome>\r
142                                                         </execute>\r
143                                                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
144   key="select attribute_value from VF_MODULE_MODEL vmm, VF_MODEL vf, ATTRIBUTE_VALUE_PAIR avp\r
145         where vmm.customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid\r
146         and vmm.vf_customization_uuid = vf.customization_uuid\r
147         and vf.uuid = avp.resource_uuid\r
148         and vmm.vf_customization_uuid = avp.resource_customization_uuid\r
149         and avp.attribute_name = $tmp.truncated-value"\r
150   pfx='db.mapped-value'>\r
151                                                             <outcome value='failure'>\r
152                                                                 <return status='failure'>\r
153                                                                     <parameter name='ack-final' value='Y'/>\r
154                                                                     <parameter name="error-code" value="500" />\r
155                                                                     <parameter name="error-message"\r
156       value="`'System error retrieving mapped parameter value for '\r
157         + $db.parameters[$parameter-index].attribute-name`" />\r
158                                                                 </return>\r
159                                                             </outcome>\r
160                                                             <outcome value='not-found'>\r
161                                                                 <return status='failure'>\r
162                                                                     <parameter name='ack-final' value='Y'/>\r
163                                                                     <parameter name="error-code" value="500" />\r
164                                                                     <parameter name="error-message"\r
165       value="`'Unable to find mapped parameter value for '\r
166         + $db.parameters[$parameter-index].attribute-name\r
167         + ' value '\r
168         + $tmp.truncated-value`" />\r
169                                                                 </return>\r
170                                                             </outcome>\r
171                                                         </get-resource>\r
172                                                         <set>\r
173                                                             <parameter name='db.group-uuids[$group-index].network-collection-function' value='`$db.mapped-value.attribute-value`' />\r
174                                                         </set>\r
175                                                     </block>\r
176                                                 </outcome>\r
177                                             </switch>\r
178                                         </for>\r
179                                     </outcome>\r
180                                 </get-resource>\r
181                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
182   resource="instance-groups" \r
183   key="instance-group.instance-group-function = $db.group-uuids[$group-index].vfc-instance-group-function\r
184     AND instance-group.instance-group-type = 'VNFC'"\r
185   pfx='aai.instance-group' local-only='false' >\r
186                                     <outcome value='not-found'>\r
187                                         <return status='failure'>\r
188                                             <parameter name='ack-final' value='Y'/>\r
189                                             <parameter name="error-code" value="500" />\r
190                                             <parameter name="error-message"\r
191       value="`'Unable to find AAI instance-group for instance-group-function '\r
192         + $db.group-uuids[$group-index].vfc-instance-group-function\r
193         + ' and instance-group-type VNFC'`" />\r
194                                         </return>\r
195                                     </outcome>\r
196                                     <outcome value='failure'>\r
197                                         <return status='failure'>\r
198                                             <parameter name='ack-final' value='Y'/>\r
199                                             <parameter name="error-code" value="500" />\r
200                                             <parameter name="error-message"\r
201       value="`'System error getting AAI instance-group for instance-group-function '\r
202         + $db.group-uuids[$group-index].vfc-instance-group-function\r
203         + ' and instance-group-type VNFC'`" />\r
204                                         </return>\r
205                                     </outcome>\r
206                                 </get-resource>\r
207                                 <set>\r
208                                     <parameter name='found-instance-group' value='false' />\r
209                                 </set>\r
210                                 <for index='ig-index' start='0' end='`$aai.instance-group.instance-group_length`' >\r
211                                     <for index='rel-index' start='0' end='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship_length`' >\r
212                                         <for index='reldata-index' start='0' end='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data_length`' >\r
213                                             <switch test="`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data[$reldata-index].relationship-key\r
214   == 'service-instance.service-instance-id'`">\r
215                                                 <outcome value='true'>\r
216                                                     <switch test='`$aai.instance-group.instance-group[$ig-index].relationship-list.relationship[$rel-index].relationship-data[$reldata-index].relationship-value\r
217   == $service-data.service-information.service-instance-id`'>\r
218                                                         <outcome value='true'>\r
219                                                             <block>\r
220                                                                 <set>\r
221                                                                     <parameter name='found-instance-group' value='true' />\r
222                                                                 </set>\r
223                                                                 <set>\r
224                                                                     <parameter name='aai-ig-index' value='`$ig-index`' />\r
225                                                                 </set>\r
226                                                                 <break/>\r
227                                                             </block>\r
228                                                         </outcome>\r
229                                                     </switch>\r
230                                                 </outcome>\r
231                                             </switch>\r
232                                         </for>\r
233                                     </for>\r
234                                 </for>\r
235                                 <switch test='`$found-instance-group`'>\r
236                                     <outcome value='false'>\r
237                                         <return status='failure'>\r
238                                             <parameter name='ack-final' value='Y'/>\r
239                                             <parameter name="error-code" value="500" />\r
240                                             <parameter name="error-message"\r
241       value="`'Unable to find AAI instance-group for instance-group-function '\r
242         + $db.group-uuids[$group-index].vfc-instance-group-function\r
243         + ' and instance-group-type VNFC'`" />\r
244                                         </return>\r
245                                     </outcome>\r
246                                 </switch>\r
247                                 <switch test='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group_length`'>\r
248                                     <outcome value=''>\r
249                                         <set>\r
250                                             <parameter name='vvig-index' value='0' />\r
251                                         </set>\r
252                                     </outcome>\r
253                                     <outcome value='0'>\r
254                                         <break/>\r
255                                     </outcome>\r
256                                     <outcome value='Other'>\r
257                                         <block atomic="true">\r
258                                             <for index='vvig-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group_length`' >\r
259                                                 <switch test='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].instance-group-id\r
260  == $aai.instance-group.instance-group[$aai-ig-index].id`'>\r
261                                                     <outcome value='true'>\r
262                                                         <return status='failure'>\r
263                                                             <parameter name='ack-final' value='Y'/>\r
264                                                             <parameter name="error-code" value="500" />\r
265                                                             <parameter name="error-message"\r
266       value="`'Instance group id '\r
267         + $aai.instance-group.instance-group[$aai-ig-index].id\r
268         + ' already exists in MD-SAL under vlan-vnfc-instance-groups'`" />\r
269                                                         </return>\r
270                                                     </outcome>\r
271                                                 </switch>\r
272                                             </for>\r
273                                             <set>\r
274                                                 <parameter name='vvig-index' value='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group_length`' />\r
275                                             </set>\r
276                                         </block>\r
277                                     </outcome>\r
278                                 </switch>\r
279                                 <set>\r
280                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].instance-group-id'\r
281   value='`$aai.instance-group.instance-group[$aai-ig-index].id`' />\r
282                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].instance-group-function'\r
283   value='`$db.group-uuids[$group-index].vfc-instance-group-function`' />\r
284                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnf-id'\r
285   value='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />\r
286                                 </set>\r
287                                 <set>\r
288                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group_length'\r
289   value='`$vvig-index + 1`' />\r
290                                 </set>\r
291                                 <set>\r
292                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vm-type'\r
293   value='`$db.group-uuids[$group-index].vm-type`' />\r
294                                 </set>\r
295                                 <set>\r
296                                     <parameter name='found-vm-type' value='false' />\r
297                                 </set>\r
298                                 <for index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\r
299                                     <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-type\r
300   == $db.group-uuids[$group-index].vm-type`'>\r
301                                         <outcome value='true'>\r
302                                             <block atomic="true">\r
303                                                 <set>\r
304                                                     <parameter name='found-vm-type' value='true' />\r
305                                                 </set>\r
306                                                 <break/>\r
307                                             </block>\r
308                                         </outcome>\r
309                                     </switch>\r
310                                 </for>\r
311                                 <switch test='`$found-vm-type`'>\r
312                                     <outcome value='false'>\r
313                                         <block atomic="true">\r
314                                             <return status='failure'>\r
315                                                 <parameter name='ack-final' value='Y'/>\r
316                                                 <parameter name="error-code" value="500" />\r
317                                                 <parameter name="error-message" value="`'TOSCA provided vm-type ' +\r
318       $db.group-uuids[$group-index].vm-type + ' but that was not found in vf-module-assignments.vms'`" />\r
319                                             </return>\r
320                                         </block>\r
321                                     </outcome>\r
322                                 </switch>\r
323                                 <set>\r
324                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc_length'\r
325   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' />\r
326                                 </set>\r
327                                 <for index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
328                                     <block atomic="true">\r
329                                         <set>\r
330                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnfc-name'\r
331   value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`' />\r
332                                         </set>\r
333                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
334    resource="instance-group:relationship-list"\r
335    key="instance-group.id = $tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].instance-group-id"\r
336    force="true" pfx="tmp.AnAI-data">\r
337                                             <parameter name="relationship-list.relationship[0].related-to" value="vnfc" />\r
338                                             <parameter name="relationship-list.relationship[0].related-link"\r
339       value="`'/aai/v$/network/vnfcs/vnfc/' +\r
340         $tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnfc-name`" />\r
341                                             <outcome value='failure'>\r
342                                                 <block atomic="true">\r
343                                                     <return status='failure'>\r
344                                                         <parameter name='ack-final' value='Y'/>\r
345                                                         <parameter name="error-code" value="500" />\r
346                                                         <parameter name="error-message" value="System error creating instance-group relationship to vnfc" />\r
347                                                     </return>\r
348                                                 </block>\r
349                                             </outcome>\r
350                                             <outcome value='not-found'>\r
351                                                 <block atomic="true">\r
352                                                     <return status='failure'>\r
353                                                         <parameter name='ack-final' value='Y'/>\r
354                                                         <parameter name="error-code" value="500" />\r
355                                                         <parameter name="error-message" value="`'Not-found error relating instance group '\r
356       + $tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].instance-group-id\r
357       + ' to vnfc '\r
358       + $tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnfc-name`" />\r
359                                                     </return>\r
360                                                 </block>\r
361                                             </outcome>\r
362                                         </save>\r
363                                         <set>\r
364                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].data-created' value='true' />\r
365                                         </set>\r
366                                     </block>\r
367                                 </for>\r
368                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
369   key="select property_name from VF_MODULE_TO_VFC_MAPPING vmvm,\r
370     RESOURCE_POLICY_TO_TARGET_NODE_MAPPING rptnm, RESOURCE_POLICY rp\r
371         where vmvm.vf_module_customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid\r
372         AND vmvm.vm_type = $db.group-uuids[$group-index].vm-type\r
373         AND vmvm.vfc_customization_uuid = rptnm.target_node_uuid\r
374         AND rptnm.policy_uuid = rp.policy_uuid\r
375         AND rp.property_type = 'vlan_tag_policy'\r
376         AND rp.policy_type = 'ecomp.policies.External'\r
377         AND rp.property_source = 'Policy Manager'"\r
378   pfx='db.policy[]'>\r
379                                     <outcome value='failure'>\r
380                                         <return status='failure'>\r
381                                             <parameter name='ack-final' value='Y'/>\r
382                                             <parameter name="error-code" value="500" />\r
383                                             <parameter name="error-message" value="`'Failure retrieving policy for vm-type ' + $db.group-uuids[$group-index].vm-type`" />\r
384                                         </return>\r
385                                     </outcome>\r
386                                     <outcome value='not-found'>\r
387                                         <return status='failure'>\r
388                                             <parameter name='ack-final' value='Y'/>\r
389                                             <parameter name="error-code" value="500" />\r
390                                             <parameter name="error-message" value="`'Unable to find policy for vm-type ' + $db.group-uuids[$group-index].vm-type`" />\r
391                                         </return>\r
392                                     </outcome>\r
393                                 </get-resource>\r
394                                 <set>\r
395                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[0].vnic-groups.vnic-group[0].vnic-interface-role'\r
396   value='`$db.group-uuids[$group-index].vfc_parent_port_role`' />\r
397                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[0].vnic-groups.vnic-group[0].vlan-assignment-policy-name'\r
398   value='`$db.policy[0].property-name`' />\r
399                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[0].vnic-groups.vnic-group[0].network-instance-group-function'\r
400   value='`$db.group-uuids[$group-index].network-collection-function`' />\r
401                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[0].vnic-groups.vnic-group_length'\r
402   value='1' />\r
403                                 </set>\r
404                                 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
405   key="select vnrm.* from VF_MODULE_TO_VFC_MAPPING vmvm, VFC_TO_NETWORK_ROLE_MAPPING vnrm\r
406         where vmvm.vf_module_customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid\r
407         AND vmvm.vm_type = $db.group-uuids[$group-index].vm-type\r
408         AND vmvm.vfc_customization_uuid = vnrm.vfc_customization_uuid\r
409         AND vnrm.network_role_tag = $db.group-uuids[$group-index].vfc_parent_port_role"\r
410   pfx='db.vfc-to-network-role[]'>\r
411                                     <outcome value='failure'>\r
412                                         <return status='failure'>\r
413                                             <parameter name='ack-final' value='Y'/>\r
414                                             <parameter name="error-code" value="500" />\r
415                                             <parameter name="error-message" value="`'Failure reading VFC_TO_NETWORK_ROLE_MAPPING for parent role ' + $db.group-uuids[$group-index].vfc_parent_port_role`" />\r
416                                         </return>\r
417                                     </outcome>\r
418                                     <outcome value='not-found'>\r
419                                         <return status='failure'>\r
420                                             <parameter name='ack-final' value='Y'/>\r
421                                             <parameter name="error-code" value="500" />\r
422                                             <parameter name="error-message" value="`'Unable to find rows in VFC_TO_NETWORK_ROLE_MAPPING for parent role ' + $db.group-uuids[$group-index].vfc_parent_port_role`" />\r
423                                         </return>\r
424                                     </outcome>\r
425                                 </get-resource>\r
426                                 <for index='vnic-index' start='0' end='`$db.vfc-to-network-role_length`' >\r
427                                     <block>\r
428                                         <set>\r
429                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[0].vnic-groups.vnic-group[0].vlan-vnics.vlan-vnic[$vnic-index].vnic-port-id'\r
430   value='`$vnic-index`' />\r
431                                         </set>\r
432                                     </block>\r
433                                 </for>\r
434                                 <set>\r
435                                     <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[0].vnic-groups.vnic-group[0].vlan-vnics.vlan-vnic_length'\r
436   value='`$db.vfc-to-network-role_length`' />\r
437                                 </set>\r
438                                 <set>\r
439                                     <parameter name='get-data-from-policy-input.policy-instance-name' value='`$db.policy[0].property-name`' />\r
440                                 </set>\r
441                                 <call module='GENERIC-RESOURCE-API' rpc='get-data-from-policy' mode='sync' >\r
442                                     <outcome value='failure'>\r
443                                         <return status='failure'></return>\r
444                                     </outcome>\r
445                                 </call>\r
446                                 <switch test='`$get-data-from-policy-output.precreate-sub-intf-num &gt; 0`'>\r
447                                     <outcome value='true'>\r
448                                         <call module='GENERIC-RESOURCE-API' rpc='assign-vlan-tags' mode='sync' >\r
449                                             <outcome value='failure'>\r
450                                                 <return status='failure'></return>\r
451                                             </outcome>\r
452                                         </call>\r
453                                     </outcome>\r
454                                 </switch>\r
455                                 <for index='vnfc-index' start='1' end='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc_length`' >\r
456                                     <set>\r
457                                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnics-groups.'\r
458   value='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[0].vnics-groups.`' />\r
459                                     </set>\r
460                                 </for>\r
461                                 <set>\r
462                                     <parameter name='counter' value='0' />\r
463                                 </set>\r
464                                 <set>\r
465                                     <parameter name='seq-no' value='1' />\r
466                                 </set>\r
467                                 <for index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc_length`' >\r
468                                     <for index='vnic-group-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group_length`' >\r
469                                         <block atomic="true">\r
470                                             <set>\r
471                                                 <parameter name='tmp.vt-ip.' value='' />\r
472                                             </set>\r
473                                             <set>\r
474                                                 <parameter name='tmp.vt-ip.network-instance-group-function'\r
475   value='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].network-instance-group-function`' />\r
476                                                 <parameter name='tmp.vt-ip.nf-role'\r
477   value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`' />\r
478                                                 <parameter name='tmp.vt-ip.vm-type'\r
479   value='`$db.group-uuids[$group-index].vm-type`' />\r
480                                                 <parameter name='tmp.vt-ip.vnfc-name'\r
481   value='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnfc-name`' />\r
482                                                 <parameter name='tmp.vt-ip.type'\r
483   value='FIXED' />\r
484                                                 <parameter name='tmp.vt-ip.vf-module-id'\r
485   value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\r
486                                             </set>\r
487                                             <for index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\r
488                                                 <switch test='`$tmp.vt-ip.network-instance-group-id\r
489   == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\r
490                                                     <outcome value='true'>\r
491                                                         <switch test='`$get-data-from-policy-output.ip-assignment`'>\r
492                                                             <outcome value='shared'>\r
493                                                                 <for silentFailure='true' index='subnet-index' start='0'\r
494   end='`$service-data.network-instance-groups.network-instance-group[$nig-index].subnets_length`' >\r
495                                                                     <block atomic="true">\r
496                                                                         <set>\r
497                                                                             <parameter name='tmp.vt-ip.ip-version'\r
498   value='`$service-data.network-instance-groups.network-instance-group[$nig-index].subnets[$subnet-index].ip-version`' />\r
499                                                                             <parameter name='tmp.vt-ip.network-instance-group-id'\r
500   value='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].network-instance-group-id`' />\r
501                                                                             <parameter name='tmp.vt-ip.sequence-number'\r
502   value='`$seq-no`' />\r
503                                                                         </set>\r
504                                                                         <set>\r
505                                                                             <parameter name='counter' value='`$counter + 1`' />\r
506                                                                         </set>\r
507                                                                         <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-ip-addresses' mode='sync' >\r
508                                                                             <outcome value='failure'>\r
509                                                                                 <return status='failure'></return>\r
510                                                                             </outcome>\r
511                                                                         </call>\r
512                                                                         <switch test='`$eipam-ip-block.plans_length`'>\r
513                                                                             <outcome value=''>\r
514                                                                                 <block></block>\r
515                                                                             </outcome>\r
516                                                                             <outcome value='0'>\r
517                                                                                 <block></block>\r
518                                                                             </outcome>\r
519                                                                             <outcome value='Other'>\r
520                                                                                 <for index='vnic-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic_length`' >\r
521                                                                                     <for index='sub-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data_length`' >\r
522                                                                                         <block>\r
523                                                                                             <switch test='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item_length`'>\r
524                                                                                                 <outcome value=''>\r
525                                                                                                     <set>\r
526                                                                                                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item_length'\r
527   value='1' />\r
528                                                                                                         <parameter name='tmp.index' value='0' />\r
529                                                                                                     </set>\r
530                                                                                                 </outcome>\r
531                                                                                                 <outcome value='0'>\r
532                                                                                                     <set>\r
533                                                                                                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item_length'\r
534   value='1' />\r
535                                                                                                         <parameter name='tmp.index' value='0' />\r
536                                                                                                     </set>\r
537                                                                                                 </outcome>\r
538                                                                                                 <outcome value='1'>\r
539                                                                                                     <set>\r
540                                                                                                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item_length'\r
541   value='2' />\r
542                                                                                                         <parameter name='tmp.index' value='1' />\r
543                                                                                                     </set>\r
544                                                                                                 </outcome>\r
545                                                                                             </switch>\r
546                                                                                             <set>\r
547                                                                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item[$tmp.index].network-ips.network-ip[0]'\r
548   value='`$eipam-ip-block.plans[0].requests[0].ip-prefix`' />\r
549                                                                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item[$tmp.index].network-ips.network-ip_length'\r
550   value='1' />\r
551                                                                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item[$tmp.index].ip-version'\r
552   value='`$tmp.vt-ip.ip-version`' />\r
553                                                                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item[$tmp.index].ip-count'\r
554   value='1' />\r
555                                                                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item[$tmp.index].use-dhcp'\r
556   value='N' />\r
557                                                                                             </set>\r
558                                                                                             <switch test='`$tmp.vt-ip.ip-version`'>\r
559                                                                                                 <outcome value='ipv4'>\r
560                                                                                                     <set>\r
561                                                                                                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-common-ip-addresses.ip-addresses.ipv4-address'\r
562   value='`$eipam-ip-block.plans[0].requests[0].ip-prefix`' />\r
563                                                                                                     </set>\r
564                                                                                                 </outcome>\r
565                                                                                                 <outcome value='ipv6'>\r
566                                                                                                     <set>\r
567                                                                                                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-common-ip-addresses.ip-addresses.ipv6-address'\r
568   value='`$eipam-ip-block.plans[0].requests[0].ip-prefix`' />\r
569                                                                                                     </set>\r
570                                                                                                 </outcome>\r
571                                                                                             </switch>\r
572                                                                                         </block>\r
573                                                                                     </for>\r
574                                                                                 </for>\r
575                                                                             </outcome>\r
576                                                                         </switch>\r
577                                                                         <set>\r
578                                                                             <parameter name='seq-no' value='`$seq-no + 1`' />\r
579                                                                         </set>\r
580                                                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
581                                                                             <parameter name='filename' value="`'/var/tmp/bgb-eipam.log' + $counter`" />\r
582                                                                         </execute>\r
583                                                                     </block>\r
584                                                                 </for>\r
585                                                             </outcome>\r
586                                                             <outcome value='unique'>\r
587                                                                 <for silentFailure='true' index='subnet-index' start='0'\r
588   end='`$service-data.network-instance-groups.network-instance-group[$nig-index].subnets_length`' >\r
589                                                                     <for index='vnic-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic_length`' >\r
590                                                                         <set>\r
591                                                                             <parameter name='tmp.vt-ip.ip-version'\r
592   value='`$service-data.network-instance-groups.network-instance-group[$nig-index].subnets[$subnet-index].ip-version`' />\r
593                                                                         </set>\r
594                                                                         <for index='sub-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data_length`' >\r
595                                                                             <block atomic="true">\r
596                                                                                 <set>\r
597                                                                                     <parameter name='tmp.vt-ip.network-id'\r
598   value='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-id`' />\r
599                                                                                     <parameter name='tmp.vt-ip.sequence-number'\r
600   value='`$seq-no`' />\r
601                                                                                 </set>\r
602                                                                                 <set>\r
603                                                                                     <parameter name='counter' value='`$counter + 1`' />\r
604                                                                                 </set>\r
605                                                                                 <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-ip-addresses' mode='sync' >\r
606                                                                                     <outcome value='failure'>\r
607                                                                                         <return status='failure'></return>\r
608                                                                                     </outcome>\r
609                                                                                 </call>\r
610                                                                                 <switch test='`$eipam-ip-block.plans_length`'>\r
611                                                                                     <outcome value=''>\r
612                                                                                         <block></block>\r
613                                                                                     </outcome>\r
614                                                                                     <outcome value='0'>\r
615                                                                                         <block></block>\r
616                                                                                     </outcome>\r
617                                                                                     <outcome value='Other'>\r
618                                                                                         <block>\r
619                                                                                             <switch test='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item_length`'>\r
620                                                                                                 <outcome value=''>\r
621                                                                                                     <set>\r
622                                                                                                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item_length'\r
623   value='1' />\r
624                                                                                                         <parameter name='tmp.index' value='0' />\r
625                                                                                                     </set>\r
626                                                                                                 </outcome>\r
627                                                                                                 <outcome value='0'>\r
628                                                                                                     <set>\r
629                                                                                                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item_length'\r
630   value='1' />\r
631                                                                                                         <parameter name='tmp.index' value='0' />\r
632                                                                                                     </set>\r
633                                                                                                 </outcome>\r
634                                                                                                 <outcome value='1'>\r
635                                                                                                     <set>\r
636                                                                                                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item_length'\r
637   value='2' />\r
638                                                                                                         <parameter name='tmp.index' value='1' />\r
639                                                                                                     </set>\r
640                                                                                                 </outcome>\r
641                                                                                             </switch>\r
642                                                                                             <set>\r
643                                                                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item[$tmp.index].network-ips.network-ip[0]'\r
644   value='`$eipam-ip-block.plans[0].requests[0].ip-prefix`' />\r
645                                                                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item[$tmp.index].network-ips.network-ip_length'\r
646   value='1' />\r
647                                                                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item[$tmp.index].ip-version'\r
648   value='`$tmp.vt-ip.ip-version`' />\r
649                                                                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item[$tmp.index].ip-count'\r
650   value='1' />\r
651                                                                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.sub-interface-network-data[$sub-index].network-information-items.network-information-item[$tmp.index].use-dhcp'\r
652   value='N' />\r
653                                                                                             </set>\r
654                                                                                         </block>\r
655                                                                                     </outcome>\r
656                                                                                 </switch>\r
657                                                                                 <set>\r
658                                                                                     <parameter name='seq-no' value='`$seq-no + 1`' />\r
659                                                                                 </set>\r
660                                                                             </block>\r
661                                                                         </for>\r
662                                                                     </for>\r
663                                                                 </for>\r
664                                                             </outcome>\r
665                                                             <outcome value='Other'>\r
666                                                                 <return status='failure'>\r
667                                                                     <parameter name='error-code' value='500' />\r
668                                                                     <parameter name='error-message' value="`'From policy: ip-assignment is '\r
669   + $get-data-from-policy-output.ip-assignment\r
670   + ' but must be unique or shared'`" />\r
671                                                                 </return>\r
672                                                             </outcome>\r
673                                                         </switch>\r
674                                                     </outcome>\r
675                                                 </switch>\r
676                                             </for>\r
677                                         </block>\r
678                                     </for>\r
679                                 </for>\r
680                                 <for index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc_length`' >\r
681                                     <for index='vm-vnfc-index' start='0'\r
682   end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\r
683                                         <switch test='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnfc-name\r
684   == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vm-vnfc-index].vnfc-name`'>\r
685                                             <outcome value='true'>\r
686                                                 <for index='vnic-group-index' start='0'\r
687   end='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group_length`' >\r
688                                                     <block>\r
689                                                         <set>\r
690                                                             <parameter name='vnfc-network-index' value='-1' />\r
691                                                         </set>\r
692                                                         <for index='vn-index' start='0'\r
693   end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\r
694                                                             <switch test='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vnic-interface-role\r
695   == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vn-index].vnfc-network-role`'>\r
696                                                                 <outcome value='true'>\r
697                                                                     <block>\r
698                                                                         <set>\r
699                                                                             <parameter name='vnfc-network-index' value='`$vn-index`' />\r
700                                                                         </set>\r
701                                                                         <break/>\r
702                                                                     </block>\r
703                                                                 </outcome>\r
704                                                             </switch>\r
705                                                         </for>\r
706                                                         <switch test='`$vnfc-network-index`'>\r
707                                                             <outcome value='-1'>\r
708                                                                 <return status='failure'>\r
709                                                                     <parameter name='error-code' value='500' />\r
710                                                                     <parameter name='error-message' value="`'Cannot find vnfc-network for network role '\r
711   + $tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vnic-interface-role`" />\r
712                                                                 </return>\r
713                                                             </outcome>\r
714                                                             <outcome value='Other'>\r
715                                                                 <block>\r
716                                                                     <set>\r
717                                                                         <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vn-index].vnfc-network-role.vnfc-type'\r
718   value='`$db.group-uuids[$group-index].vm-type`' />\r
719                                                                     </set>\r
720                                                                     <for index='vnic-index' start='0'\r
721   end='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic_length`' >\r
722                                                                         <block>\r
723                                                                             <set>\r
724                                                                                 <parameter name='vnfc-port-index' value='-1' />\r
725                                                                             </set>\r
726                                                                             <for silentFailure='true' index='v-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vn-index].vnfc-ports.vnfc-port_length`' >\r
727                                                                                 <switch test='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-port-id\r
728   == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vn-index].vnfc-ports.vnfc-port[$v-index].vnfc-port-id`'>\r
729                                                                                     <outcome value='true'>\r
730                                                                                         <block>\r
731                                                                                             <set>\r
732                                                                                                 <parameter name='vnfc-port-index' value='`$v-index`' />\r
733                                                                                             </set>\r
734                                                                                             <break/>\r
735                                                                                         </block>\r
736                                                                                     </outcome>\r
737                                                                                 </switch>\r
738                                                                             </for>\r
739                                                                             <switch test='`$vnfc-port-index`'>\r
740                                                                                 <outcome value='-1'>\r
741                                                                                     <block>\r
742                                                                                         <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vn-index].vnfc-ports.vnfc-port_length`'>\r
743                                                                                             <outcome value=''>\r
744                                                                                                 <set>\r
745                                                                                                     <parameter name='vnfc-port-index' value='0' />\r
746                                                                                                 </set>\r
747                                                                                             </outcome>\r
748                                                                                             <outcome value='Other'>\r
749                                                                                                 <set>\r
750                                                                                                     <parameter name='vnfc-port-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vn-index].vnfc-ports.vnfc-port_length`' />\r
751                                                                                                 </set>\r
752                                                                                             </outcome>\r
753                                                                                         </switch>\r
754                                                                                         <set>\r
755                                                                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vn-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnfc-port-id'\r
756   value='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-port-id`' />\r
757                                                                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vn-index].vnfc-ports.vnfc-port[$vnfc-port-index].common-sub-interface-role'\r
758   value='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vnic-interface-role`' />\r
759                                                                                         </set>\r
760                                                                                         <set>\r
761                                                                                             <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vn-index].vnfc-ports.vnfc-port_length'\r
762   value='`$vnfc-port-index + 1`' />\r
763                                                                                         </set>\r
764                                                                                     </block>\r
765                                                                                 </outcome>\r
766                                                                                 <outcome value='Other'></outcome>\r
767                                                                             </switch>\r
768                                                                             <set>\r
769                                                                                 <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vn-index].vnfc-ports.vnfc-port[$vnfc-port-index].vnic-sub-interfaces.'\r
770   value='`$tmp.vf-module-topology.vf-module-assignments.vlan-vnfc-instance-groups.vlan-vnfc-instance-group[$vvig-index].vnfcs.vnfc[$vnfc-index].vnic-groups.vnic-group[$vnic-group-index].vlan-vnics.vlan-vnic[$vnic-index].vnic-sub-interfaces.`' />\r
771                                                                             </set>\r
772                                                                         </block>\r
773                                                                     </for>\r
774                                                                 </block>\r
775                                                             </outcome>\r
776                                                         </switch>\r
777                                                     </block>\r
778                                                 </for>\r
779                                             </outcome>\r
780                                         </switch>\r
781                                     </for>\r
782                                 </for>\r
783                             </block>\r
784                         </for>\r
785                     </block>\r
786                 </outcome>\r
787             </get-resource>\r
788             <return status='success'></return>\r
789         </block>\r
790     </method>\r
791 </service-logic>