GRAPI DG enhancement
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_vnf-topology-operation-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='vnf-topology-operation-assign' mode='sync'>\r
5         <block atomic="true">\r
6             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
7                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
8                 <parameter name='contextPrefix' value='prop' />\r
9             </execute>\r
10             <switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>\r
11                 <outcome value=''>\r
12                     <block></block>\r
13                 </outcome>\r
14                 <outcome value='Other'>\r
15                     <set>\r
16                         <parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />\r
17                     </set>\r
18                 </outcome>\r
19             </switch>\r
20             <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
21                 <outcome value='CreateVnfInstance'>\r
22                     <block></block>\r
23                 </outcome>\r
24                 <outcome value='Other'>\r
25                     <block atomic="true">\r
26                         <set>\r
27                             <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVnfInstance'" />\r
28                         </set>\r
29                         <block atomic='true'>\r
30                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
31                                 <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
32                                 <parameter name="input.ack-final-indicator" value="Y" />\r
33                                 <parameter name="input.response-code" value="500" />\r
34                                 <parameter name="input.response-message" value="`$error-message`" />\r
35                                 <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
36                                 <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
37                                 <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
38                             </configure>\r
39                             <return status='failure'>\r
40                                 <parameter name='ack-final' value='Y'/>\r
41                                 <parameter name="error-code" value="500" />\r
42                                 <parameter name="error-message" value="`$error-message`" />\r
43                             </return>\r
44                         </block>\r
45                     </block>\r
46                 </outcome>\r
47             </switch>\r
48             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
49   key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\r
50   pfx='db.vf-model'>\r
51                 <outcome value='failure'>\r
52                     <block atomic="true">\r
53                         <set>\r
54                             <parameter name="error-message" value="Error reading VF_MODEL table" />\r
55                         </set>\r
56                         <block atomic='true'>\r
57                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
58                                 <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
59                                 <parameter name="input.ack-final-indicator" value="Y" />\r
60                                 <parameter name="input.response-code" value="500" />\r
61                                 <parameter name="input.response-message" value="`$error-message`" />\r
62                                 <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
63                                 <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
64                                 <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
65                             </configure>\r
66                             <return status='failure'>\r
67                                 <parameter name='ack-final' value='Y'/>\r
68                                 <parameter name="error-code" value="500" />\r
69                                 <parameter name="error-message" value="`$error-message`" />\r
70                             </return>\r
71                         </block>\r
72                     </block>\r
73                 </outcome>\r
74                 <outcome value='not-found'>\r
75                     <block atomic="true">\r
76                         <set>\r
77                             <parameter name="error-message" value="`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`" />\r
78                         </set>\r
79                         <block atomic='true'>\r
80                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
81                                 <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
82                                 <parameter name="input.ack-final-indicator" value="Y" />\r
83                                 <parameter name="input.response-code" value="500" />\r
84                                 <parameter name="input.response-message" value="`$error-message`" />\r
85                                 <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
86                                 <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
87                                 <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
88                             </configure>\r
89                             <return status='failure'>\r
90                                 <parameter name='ack-final' value='Y'/>\r
91                                 <parameter name="error-code" value="500" />\r
92                                 <parameter name="error-message" value="`$error-message`" />\r
93                             </return>\r
94                         </block>\r
95                     </block>\r
96                 </outcome>\r
97             </get-resource>\r
98             <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' ></call>\r
99             <switch test="`$ss.self-serve-flag`">\r
100                 <outcome value='true'>\r
101                     <block atomic="true">\r
102                         <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >\r
103                             <outcome value='failure'>\r
104                                 <block atomic="true">\r
105                                     <set>\r
106                                         <parameter name="error-message" value="`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`" />\r
107                                     </set>\r
108                                     <block atomic='true'>\r
109                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
110                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
111                                             <parameter name="input.ack-final-indicator" value="Y" />\r
112                                             <parameter name="input.response-code" value="500" />\r
113                                             <parameter name="input.response-message" value="`$error-message`" />\r
114                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
115                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
116                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
117                                         </configure>\r
118                                         <return status='failure'>\r
119                                             <parameter name='ack-final' value='Y'/>\r
120                                             <parameter name="error-code" value="500" />\r
121                                             <parameter name="error-message" value="`$error-message`" />\r
122                                         </return>\r
123                                     </block>\r
124                                 </block>\r
125                             </outcome>\r
126                         </call>\r
127                         <set>\r
128                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\r
129                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\r
130                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\r
131                         </set>\r
132                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
133                             <parameter name='filename' value='/var/tmp/ss-vnfend.log' />\r
134                         </execute>\r
135                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
136                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
137                             <parameter name="input.ack-final-indicator" value="Y" />\r
138                             <parameter name="input.response-code" value="200" />\r
139                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
140                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
141                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
142                         </configure>\r
143                         <return status='success'>\r
144                             <parameter name="ack-final-indicator" value="Y" />\r
145                             <parameter name="error-code" value="200" />\r
146                             <parameter name="error-message" value="`$error-message`" />\r
147                         </return>\r
148                     </block>\r
149                 </outcome>\r
150                 <outcome value='false'>\r
151                     <block atomic="true">\r
152                         <switch test='`$service-data.vnfs.vnf_length`'>\r
153                             <outcome value=''>\r
154                                 <set>\r
155                                     <parameter name='vnf-index' value='0' />\r
156                                 </set>\r
157                             </outcome>\r
158                             <outcome value='Other'>\r
159                                 <block atomic='true'>\r
160                                     <set>\r
161                                         <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\r
162                                     </set>\r
163                                     <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
164                                         <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\r
165                                             <outcome value='true'>\r
166                                                 <block atomic="true">\r
167                                                     <set>\r
168                                                         <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\r
169       + ' already exists'`" />\r
170                                                     </set>\r
171                                                     <block atomic='true'>\r
172                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
173                                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
174                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
175                                                             <parameter name="input.response-code" value="500" />\r
176                                                             <parameter name="input.response-message" value="`$error-message`" />\r
177                                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
178                                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
179                                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
180                                                         </configure>\r
181                                                         <return status='failure'>\r
182                                                             <parameter name='ack-final' value='Y'/>\r
183                                                             <parameter name="error-code" value="500" />\r
184                                                             <parameter name="error-message" value="`$error-message`" />\r
185                                                         </return>\r
186                                                     </block>\r
187                                                 </block>\r
188                                             </outcome>\r
189                                         </switch>\r
190                                     </for>\r
191                                 </block>\r
192                             </outcome>\r
193                         </switch>\r
194                         <set>\r
195                             <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\r
196                         </set>\r
197                         <set>\r
198                             <parameter name='tmp.vnf-network-collection_length' value='0' />\r
199                         </set>\r
200                         <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\r
201                             <block atomic="true">\r
202                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
203                 resource="instance-group" \r
204                 key="instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id"\r
205         pfx='aai.instance-group' local-only='false' >\r
206                                     <outcome value='not-found'>\r
207                                         <block atomic="true">\r
208                                             <set>\r
209                                                 <parameter name="error-message" value="`'Cannot find instance group id ' +\r
210       $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\r
211       + ' in AAI'`" />\r
212                                             </set>\r
213                                             <block atomic='true'>\r
214                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
215                                                     <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
216                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
217                                                     <parameter name="input.response-code" value="500" />\r
218                                                     <parameter name="input.response-message" value="`$error-message`" />\r
219                                                     <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
220                                                     <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
221                                                     <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
222                                                 </configure>\r
223                                                 <return status='failure'>\r
224                                                     <parameter name='ack-final' value='Y'/>\r
225                                                     <parameter name="error-code" value="500" />\r
226                                                     <parameter name="error-message" value="`$error-message`" />\r
227                                                 </return>\r
228                                             </block>\r
229                                         </block>\r
230                                     </outcome>\r
231                                     <outcome value='failure'>\r
232                                         <block atomic="true">\r
233                                             <set>\r
234                                                 <parameter name="error-message" value="Error retrieving instance-group from AAI" />\r
235                                             </set>\r
236                                             <block atomic='true'>\r
237                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
238                                                     <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
239                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
240                                                     <parameter name="input.response-code" value="500" />\r
241                                                     <parameter name="input.response-message" value="`$error-message`" />\r
242                                                     <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
243                                                     <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
244                                                     <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
245                                                 </configure>\r
246                                                 <return status='failure'>\r
247                                                     <parameter name='ack-final' value='Y'/>\r
248                                                     <parameter name="error-code" value="500" />\r
249                                                     <parameter name="error-message" value="`$error-message`" />\r
250                                                 </return>\r
251                                             </block>\r
252                                         </block>\r
253                                     </outcome>\r
254                                 </get-resource>\r
255                                 <for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >\r
256                                     <switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>\r
257                                         <outcome value='collection'>\r
258                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
259                 resource="collection" \r
260                 key="collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"\r
261         pfx='aai.collection' local-only='false' >\r
262                                                 <outcome value='not-found'>\r
263                                                     <block atomic="true">\r
264                                                         <set>\r
265                                                             <parameter name="error-message" value="`'Unable to find AAI relationship from collection '\r
266       + $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\r
267       + ' to service instance'`" />\r
268                                                         </set>\r
269                                                         <block atomic='true'>\r
270                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
271                                                                 <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
272                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
273                                                                 <parameter name="input.response-code" value="500" />\r
274                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
275                                                                 <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
276                                                                 <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
277                                                                 <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
278                                                             </configure>\r
279                                                             <return status='failure'>\r
280                                                                 <parameter name='ack-final' value='Y'/>\r
281                                                                 <parameter name="error-code" value="500" />\r
282                                                                 <parameter name="error-message" value="`$error-message`" />\r
283                                                             </return>\r
284                                                         </block>\r
285                                                     </block>\r
286                                                 </outcome>\r
287                                                 <outcome value='failure'>\r
288                                                     <block atomic="true">\r
289                                                         <set>\r
290                                                             <parameter name="error-message" value="`'Failed to get network service instance '\r
291       + $network-service-instance + ' from MD-SAL'`" />\r
292                                                         </set>\r
293                                                         <block atomic='true'>\r
294                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
295                                                                 <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
296                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
297                                                                 <parameter name="input.response-code" value="500" />\r
298                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
299                                                                 <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
300                                                                 <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
301                                                                 <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
302                                                             </configure>\r
303                                                             <return status='failure'>\r
304                                                                 <parameter name='ack-final' value='Y'/>\r
305                                                                 <parameter name="error-code" value="500" />\r
306                                                                 <parameter name="error-message" value="`$error-message`" />\r
307                                                             </return>\r
308                                                         </block>\r
309                                                     </block>\r
310                                                 </outcome>\r
311                                                 <outcome value='success'>\r
312                                                     <block atomic="true">\r
313                                                         <set>\r
314                                                             <parameter name='found-network-instance-group' value='false' />\r
315                                                         </set>\r
316                                                         <for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\r
317                                                             <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\r
318   == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\r
319                                                                 <outcome value='true'>\r
320                                                                     <block>\r
321                                                                         <set>\r
322                                                                             <parameter name='found-network-instance-group' value='true' />\r
323                                                                         </set>\r
324                                                                         <break/>\r
325                                                                     </block>\r
326                                                                 </outcome>\r
327                                                             </switch>\r
328                                                         </for>\r
329                                                         <switch test='`$found-network-instance-group`'>\r
330                                                             <outcome value='false'>\r
331                                                                 <block atomic="true">\r
332                                                                     <set>\r
333                                                                         <parameter name="error-message" value="`'Could not find network instance group ' +\r
334       $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\r
335       + ' in MD-SAL service instance '\r
336       + $network-service-instance`" />\r
337                                                                     </set>\r
338                                                                     <block atomic='true'>\r
339                                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
340                                                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
341                                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
342                                                                             <parameter name="input.response-code" value="500" />\r
343                                                                             <parameter name="input.response-message" value="`$error-message`" />\r
344                                                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
345                                                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
346                                                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
347                                                                         </configure>\r
348                                                                         <return status='failure'>\r
349                                                                             <parameter name='ack-final' value='Y'/>\r
350                                                                             <parameter name="error-code" value="500" />\r
351                                                                             <parameter name="error-message" value="`$error-message`" />\r
352                                                                         </return>\r
353                                                                     </block>\r
354                                                                 </block>\r
355                                                             </outcome>\r
356                                                         </switch>\r
357                                                         <set>\r
358                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'\r
359   value='`$aai.instance-group.instance-group-function`' />\r
360                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'\r
361   value='`$aai.instance-group.id`' />\r
362                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'\r
363   value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />\r
364                                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'\r
365   value='`$aai.collection.collection-customization-id`' />\r
366                                                         </set>\r
367                                                         <set>\r
368                                                             <parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />\r
369                                                         </set>\r
370                                                     </block>\r
371                                                 </outcome>\r
372                                             </get-resource>\r
373                                         </outcome>\r
374                                     </switch>\r
375                                 </for>\r
376                             </block>\r
377                         </for>\r
378                         <set>\r
379                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'\r
380   value='`$tmp.vnf-network-collection_length`' />\r
381                         </set>\r
382                         <set>\r
383                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\r
384  value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
385                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\r
386  value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\r
387                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\r
388  value='`$db.vf-model.nf-type`' />\r
389                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\r
390  value='`$db.vf-model.nf-role`' />\r
391                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\r
392  value='`$db.vf-model.nf-function`' />\r
393                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\r
394  value='`$db.vf-model.nf-code`' />\r
395                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\r
396  value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\r
397                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\r
398  value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\r
399                         </set>\r
400                         <switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>\r
401                             <outcome value=''>\r
402                                 <block atomic="true">\r
403                                     <switch test='`$db.vf-model.ecomp-generated-naming`'>\r
404                                         <outcome value='Y'>\r
405                                             <block></block>\r
406                                         </outcome>\r
407                                         <outcome value='N'>\r
408                                             <block atomic="true">\r
409                                                 <set>\r
410                                                     <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />\r
411                                                 </set>\r
412                                                 <block>\r
413                                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
414                                                         <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
415                                                         <parameter name="input.ack-final-indicator" value="Y" />\r
416                                                         <parameter name="input.response-code" value="500" />\r
417                                                         <parameter name="input.response-message" value="`$error-message`" />\r
418                                                         <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
419                                                         <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
420                                                         <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
421                                                     </configure>\r
422                                                     <return status='failure'>\r
423                                                         <parameter name='ack-final' value='Y'/>\r
424                                                         <parameter name="error-code" value="500" />\r
425                                                         <parameter name="error-message" value="`$error-message`" />\r
426                                                     </return>\r
427                                                 </block>\r
428                                             </block>\r
429                                         </outcome>\r
430                                         <outcome value='Other'>\r
431                                             <block atomic="true">\r
432                                                 <set>\r
433                                                     <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />\r
434                                                 </set>\r
435                                                 <block>\r
436                                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
437                                                         <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
438                                                         <parameter name="input.ack-final-indicator" value="Y" />\r
439                                                         <parameter name="input.response-code" value="500" />\r
440                                                         <parameter name="input.response-message" value="`$error-message`" />\r
441                                                         <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
442                                                         <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
443                                                         <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
444                                                     </configure>\r
445                                                     <return status='failure'>\r
446                                                         <parameter name='ack-final' value='Y'/>\r
447                                                         <parameter name="error-code" value="500" />\r
448                                                         <parameter name="error-message" value="`$error-message`" />\r
449                                                     </return>\r
450                                                 </block>\r
451                                             </block>\r
452                                         </outcome>\r
453                                     </switch>\r
454                                     <switch test='`$db.vf-model.naming-policy`'>\r
455                                         <outcome value=''>\r
456                                             <block atomic="true">\r
457                                                 <set>\r
458                                                     <parameter name='generate-unique-name-input.action' value='ASSIGN' />\r
459                                                     <parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
460                                                     <parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />\r
461                                                     <parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\r
462                                                     <parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />\r
463                                                     <parameter name='generate-unique-name-input.prefix' value="`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`" />\r
464                                                 </set>\r
465                                                 <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\r
466                                                     <outcome value='failure'>\r
467                                                         <block atomic="true">\r
468                                                             <set>\r
469                                                                 <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />\r
470                                                             </set>\r
471                                                             <block>\r
472                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
473                                                                     <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
474                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
475                                                                     <parameter name="input.response-code" value="500" />\r
476                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
477                                                                     <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
478                                                                     <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
479                                                                     <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
480                                                                 </configure>\r
481                                                                 <return status='failure'>\r
482                                                                     <parameter name='ack-final' value='Y'/>\r
483                                                                     <parameter name="error-code" value="500" />\r
484                                                                     <parameter name="error-message" value="`$error-message`" />\r
485                                                                 </return>\r
486                                                             </block>\r
487                                                         </block>\r
488                                                     </outcome>\r
489                                                     <outcome value='success'>\r
490                                                         <set>\r
491                                                             <parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />\r
492                                                         </set>\r
493                                                     </outcome>\r
494                                                 </call>\r
495                                             </block>\r
496                                         </outcome>\r
497                                         <outcome value='Other'>\r
498                                             <block atomic="true">\r
499                                                 <set>\r
500                                                     <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />\r
501                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
502                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
503                                                     <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\r
504                                                     <parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\r
505                                                 </set>\r
506                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\r
507                                                     <outcome value='failure'>\r
508                                                         <block atomic="true">\r
509                                                             <set>\r
510                                                                 <parameter name="error-message" value="Unable to generate VNF name" />\r
511                                                             </set>\r
512                                                             <block>\r
513                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
514                                                                     <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
515                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
516                                                                     <parameter name="input.response-code" value="500" />\r
517                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
518                                                                     <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
519                                                                     <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
520                                                                     <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
521                                                                 </configure>\r
522                                                                 <return status='failure'>\r
523                                                                     <parameter name='ack-final' value='Y'/>\r
524                                                                     <parameter name="error-code" value="500" />\r
525                                                                     <parameter name="error-message" value="`$error-message`" />\r
526                                                                 </return>\r
527                                                             </block>\r
528                                                         </block>\r
529                                                     </outcome>\r
530                                                     <outcome value='success'>\r
531                                                         <set>\r
532                                                             <parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />\r
533                                                         </set>\r
534                                                     </outcome>\r
535                                                 </call>\r
536                                             </block>\r
537                                         </outcome>\r
538                                     </switch>\r
539                                 </block>\r
540                             </outcome>\r
541                             <outcome value='Other'>\r
542                                 <set>\r
543                                     <parameter name='tmp.vnf-name' value="`$vnf-topology-operation-input.vnf-information.vnf-name`" />\r
544                                 </set>\r
545                             </outcome>\r
546                         </switch>\r
547                         <set>\r
548                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\r
549    value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
550                         </set>\r
551                         <set>\r
552                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'\r
553    value='`$tmp.vnf-name`' />\r
554                         </set>\r
555                         <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\r
556                             <outcome value=''>\r
557                                 <set>\r
558                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\r
559   value='`$db.vf-model.invariant-uuid`' />\r
560                                 </set>\r
561                             </outcome>\r
562                             <outcome value='Other'>\r
563                                 <set>\r
564                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\r
565   value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\r
566                                 </set>\r
567                             </outcome>\r
568                         </switch>\r
569                         <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\r
570                             <outcome value=''>\r
571                                 <set>\r
572                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\r
573   value='`$db.vf-model.uuid`' />\r
574                                 </set>\r
575                             </outcome>\r
576                             <outcome value='Other'>\r
577                                 <set>\r
578                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\r
579   value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\r
580                                 </set>\r
581                             </outcome>\r
582                         </switch>\r
583                         <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\r
584                             <outcome value=''>\r
585                                 <set>\r
586                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\r
587   value='`$db.vf-model.version`' />\r
588                                 </set>\r
589                             </outcome>\r
590                             <outcome value='Other'>\r
591                                 <set>\r
592                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\r
593   value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\r
594                                 </set>\r
595                             </outcome>\r
596                         </switch>\r
597                         <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\r
598                             <outcome value=''>\r
599                                 <set>\r
600                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\r
601   value='`$db.vf-model.name`' />\r
602                                 </set>\r
603                             </outcome>\r
604                             <outcome value='Other'>\r
605                                 <set>\r
606                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\r
607   value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\r
608                                 </set>\r
609                             </outcome>\r
610                         </switch>\r
611                         <set>\r
612                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\r
613   value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\r
614                         </set>\r
615                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
616                 resource="cloud-region" \r
617                 key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \r
618                      cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND\r
619                      depth='all'"\r
620         pfx='aai.cloud-region' local-only='false' >\r
621                             <outcome value='not-found'>\r
622                                 <block atomic="true">\r
623                                     <set>\r
624                                         <parameter name="error-message" value="Cloud region not found in AAI" />\r
625                                     </set>\r
626                                     <block atomic="true">\r
627                                         <set>\r
628                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
629                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
630                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
631                                         </set>\r
632                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
633                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
634                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
635                                             <parameter name="input.ack-final-indicator" value="Y" />\r
636                                             <parameter name="input.response-code" value="500" />\r
637                                             <parameter name="input.response-message" value="`$error-message`" />\r
638                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
639                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
640                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
641                                         </configure>\r
642                                         <return status='failure'>\r
643                                             <parameter name='ack-final' value='Y'/>\r
644                                             <parameter name="error-code" value="500" />\r
645                                             <parameter name="error-message" value="`$error-message`" />\r
646                                         </return>\r
647                                     </block>\r
648                                 </block>\r
649                             </outcome>\r
650                             <outcome value='failure'>\r
651                                 <block atomic="true">\r
652                                     <set>\r
653                                         <parameter name="error-message" value="Error retrieving cloud region from AAI" />\r
654                                     </set>\r
655                                     <block atomic="true">\r
656                                         <set>\r
657                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
658                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
659                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
660                                         </set>\r
661                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
662                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
663                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
664                                             <parameter name="input.ack-final-indicator" value="Y" />\r
665                                             <parameter name="input.response-code" value="500" />\r
666                                             <parameter name="input.response-message" value="`$error-message`" />\r
667                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
668                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
669                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
670                                         </configure>\r
671                                         <return status='failure'>\r
672                                             <parameter name='ack-final' value='Y'/>\r
673                                             <parameter name="error-code" value="500" />\r
674                                             <parameter name="error-message" value="`$error-message`" />\r
675                                         </return>\r
676                                     </block>\r
677                                 </block>\r
678                             </outcome>\r
679                         </get-resource>\r
680                         <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\r
681                             <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\r
682                                 <outcome value='complex'>\r
683                                     <block atomic="true">\r
684                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\r
685                                             <parameter name='ctx_memory_result_key' value='aai-uid-split' />\r
686                                             <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\r
687                                             <parameter name='regex' value='/' />\r
688                                         </execute>\r
689                                         <set>\r
690                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'\r
691   value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\r
692                                         </set>\r
693                                         <break/>\r
694                                     </block>\r
695                                 </outcome>\r
696                             </switch>\r
697                         </for>\r
698                         <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>\r
699                             <outcome value=''>\r
700                                 <block atomic="true">\r
701                                     <set>\r
702                                         <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />\r
703                                     </set>\r
704                                     <block atomic="true">\r
705                                         <set>\r
706                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
707                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
708                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
709                                         </set>\r
710                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
711                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
712                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
713                                             <parameter name="input.ack-final-indicator" value="Y" />\r
714                                             <parameter name="input.response-code" value="500" />\r
715                                             <parameter name="input.response-message" value="`$error-message`" />\r
716                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
717                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
718                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
719                                         </configure>\r
720                                         <return status='failure'>\r
721                                             <parameter name='ack-final' value='Y'/>\r
722                                             <parameter name="error-code" value="500" />\r
723                                             <parameter name="error-message" value="`$error-message`" />\r
724                                         </return>\r
725                                     </block>\r
726                                 </block>\r
727                             </outcome>\r
728                         </switch>\r
729                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
730   key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\r
731   pfx='db.vf-network-role-mapping[]'>\r
732                             <outcome value='failure'>\r
733                                 <block atomic="true">\r
734                                     <set>\r
735                                         <parameter name="error-message" value="Error reading VF_TO_NETWORK_ROLE_MAPPING table" />\r
736                                     </set>\r
737                                     <block atomic="true">\r
738                                         <set>\r
739                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
740                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
741                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
742                                         </set>\r
743                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
744                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
745                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
746                                             <parameter name="input.ack-final-indicator" value="Y" />\r
747                                             <parameter name="input.response-code" value="500" />\r
748                                             <parameter name="input.response-message" value="`$error-message`" />\r
749                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
750                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
751                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
752                                         </configure>\r
753                                         <return status='failure'>\r
754                                             <parameter name='ack-final' value='Y'/>\r
755                                             <parameter name="error-code" value="500" />\r
756                                             <parameter name="error-message" value="`$error-message`" />\r
757                                         </return>\r
758                                     </block>\r
759                                 </block>\r
760                             </outcome>\r
761                             <outcome value='not-found'>\r
762                                 <set>\r
763                                     <parameter name='db.vf-network-role-mapping_length' value='0' />\r
764                                 </set>\r
765                             </outcome>\r
766                         </get-resource>\r
767                         <set>\r
768                             <parameter name='network-index' value='0' />\r
769                         </set>\r
770                         <for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>\r
771                             <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\r
772                                 <outcome value=''>\r
773                                     <block></block>\r
774                                 </outcome>\r
775                                 <outcome value='null'>\r
776                                     <block></block>\r
777                                 </outcome>\r
778                                 <outcome value='NULL'>\r
779                                     <block></block>\r
780                                 </outcome>\r
781                                 <outcome value='Other'>\r
782                                     <block atomic="true">\r
783                                         <set>\r
784                                             <parameter name='aai.l3-network.' value='' />\r
785                                         </set>\r
786                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
787                 resource="l3-networks" \r
788                 key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"\r
789         pfx='aai.l3-network' local-only='false'\r
790 >\r
791                                             <outcome value='not-found'>\r
792                                                 <block atomic="true">\r
793                                                     <set>\r
794                                                         <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />\r
795                                                     </set>\r
796                                                     <block atomic="true">\r
797                                                         <set>\r
798                                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
799                                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
800                                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
801                                                         </set>\r
802                                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
803                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
804                                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
805                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
806                                                             <parameter name="input.response-code" value="500" />\r
807                                                             <parameter name="input.response-message" value="`$error-message`" />\r
808                                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
809                                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
810                                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
811                                                         </configure>\r
812                                                         <return status='failure'>\r
813                                                             <parameter name='ack-final' value='Y'/>\r
814                                                             <parameter name="error-code" value="500" />\r
815                                                             <parameter name="error-message" value="`$error-message`" />\r
816                                                         </return>\r
817                                                     </block>\r
818                                                 </block>\r
819                                             </outcome>\r
820                                             <outcome value='failure'>\r
821                                                 <block atomic="true">\r
822                                                     <set>\r
823                                                         <parameter name="error-message" value="Error retrieving l3-network from AAI" />\r
824                                                     </set>\r
825                                                     <block atomic="true">\r
826                                                         <set>\r
827                                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
828                                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
829                                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
830                                                         </set>\r
831                                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
832                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
833                                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
834                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
835                                                             <parameter name="input.response-code" value="500" />\r
836                                                             <parameter name="input.response-message" value="`$error-message`" />\r
837                                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
838                                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
839                                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
840                                                         </configure>\r
841                                                         <return status='failure'>\r
842                                                             <parameter name='ack-final' value='Y'/>\r
843                                                             <parameter name="error-code" value="500" />\r
844                                                             <parameter name="error-message" value="`$error-message`" />\r
845                                                         </return>\r
846                                                     </block>\r
847                                                 </block>\r
848                                             </outcome>\r
849                                         </get-resource>\r
850                                         <set>\r
851                                             <parameter name='l3-network-id' value='-1' />\r
852                                         </set>\r
853                                         <block>\r
854                                             <set>\r
855                                                 <parameter name='found-network' value='false' />\r
856                                             </set>\r
857                                             <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\r
858                                                 <block atomic="true">\r
859                                                     <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\r
860                                                         <outcome value='PendingCreate'>\r
861                                                             <block></block>\r
862                                                         </outcome>\r
863                                                         <outcome value='Pending Create'>\r
864                                                             <block></block>\r
865                                                         </outcome>\r
866                                                         <outcome value='PendingDelete'>\r
867                                                             <block></block>\r
868                                                         </outcome>\r
869                                                         <outcome value='Pending Delete'>\r
870                                                             <block></block>\r
871                                                         </outcome>\r
872                                                         <outcome value='Other'>\r
873                                                             <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\r
874                                                                 <block atomic="true">\r
875                                                                     <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\r
876                                                                         <outcome value='service-instance'>\r
877                                                                             <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\r
878                                                                                 <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\r
879                                                                                     <outcome value='service-instance.service-instance-id'>\r
880                                                                                         <set>\r
881                                                                                             <parameter name='network-service-instance-id'\r
882   value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />\r
883                                                                                         </set>\r
884                                                                                     </outcome>\r
885                                                                                 </switch>\r
886                                                                             </for>\r
887                                                                         </outcome>\r
888                                                                         <outcome value='cloud-region'>\r
889                                                                             <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\r
890                                                                                 <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\r
891                                                                                     <outcome value='cloud-region.cloud-region-id'>\r
892                                                                                         <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\r
893                                                                                             <outcome value='true'>\r
894                                                                                                 <block atomic="true">\r
895                                                                                                     <set>\r
896                                                                                                         <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\r
897                                                                                                     </set>\r
898                                                                                                     <set>\r
899                                                                                                         <parameter name='found-network' value='true' />\r
900                                                                                                     </set>\r
901                                                                                                     <break/>\r
902                                                                                                 </block>\r
903                                                                                             </outcome>\r
904                                                                                         </switch>\r
905                                                                                     </outcome>\r
906                                                                                 </switch>\r
907                                                                             </for>\r
908                                                                         </outcome>\r
909                                                                     </switch>\r
910                                                                     <switch test='`$found-network`'>\r
911                                                                         <outcome value='true'>\r
912                                                                             <break/>\r
913                                                                         </outcome>\r
914                                                                     </switch>\r
915                                                                 </block>\r
916                                                             </for>\r
917                                                         </outcome>\r
918                                                     </switch>\r
919                                                     <switch test='`$found-network`'>\r
920                                                         <outcome value='true'>\r
921                                                             <break/>\r
922                                                         </outcome>\r
923                                                     </switch>\r
924                                                 </block>\r
925                                             </for>\r
926                                         </block>\r
927                                         <switch test='`$l3-network-id`'>\r
928                                             <outcome value='-1'>\r
929                                                 <block atomic="true">\r
930                                                     <set>\r
931                                                         <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />\r
932                                                     </set>\r
933                                                     <block atomic="true">\r
934                                                         <set>\r
935                                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
936                                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
937                                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
938                                                         </set>\r
939                                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
940                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
941                                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
942                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
943                                                             <parameter name="input.response-code" value="500" />\r
944                                                             <parameter name="input.response-message" value="`$error-message`" />\r
945                                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
946                                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
947                                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
948                                                         </configure>\r
949                                                         <return status='failure'>\r
950                                                             <parameter name='ack-final' value='Y'/>\r
951                                                             <parameter name="error-code" value="500" />\r
952                                                             <parameter name="error-message" value="`$error-message`" />\r
953                                                         </return>\r
954                                                     </block>\r
955                                                 </block>\r
956                                             </outcome>\r
957                                         </switch>\r
958                                         <set>\r
959                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\r
960     value='`$db.vf-network-role-mapping[$role-index].network-role`' />\r
961                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\r
962     value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />\r
963                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\r
964     value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />\r
965                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\r
966     value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\r
967                                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\r
968     value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />\r
969                                         </set>\r
970                                         <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>\r
971                                             <outcome value=''>\r
972                                                 <set>\r
973                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
974    value='0' />\r
975                                                 </set>\r
976                                             </outcome>\r
977                                             <outcome value='0'>\r
978                                                 <set>\r
979                                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
980    value='0' />\r
981                                                 </set>\r
982                                             </outcome>\r
983                                             <outcome value='Other'>\r
984                                                 <block>\r
985                                                     <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >\r
986                                                         <block>\r
987                                                             <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\r
988                                                                 <outcome value=''>\r
989                                                                     <set>\r
990                                                                         <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\r
991                                                                     </set>\r
992                                                                 </outcome>\r
993                                                             </switch>\r
994                                                             <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\r
995                                                                 <outcome value='4'>\r
996                                                                     <set>\r
997                                                                         <parameter name='tmp.ip-version' value='ipv4' />\r
998                                                                     </set>\r
999                                                                 </outcome>\r
1000                                                                 <outcome value='6'>\r
1001                                                                     <set>\r
1002                                                                         <parameter name='tmp.ip-version' value='ipv6' />\r
1003                                                                     </set>\r
1004                                                                 </outcome>\r
1005                                                             </switch>\r
1006                                                             <set>\r
1007                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\r
1008    value='`$tmp.ip-version`' />\r
1009                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\r
1010    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />\r
1011                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\r
1012    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />\r
1013                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\r
1014    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />\r
1015                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\r
1016    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />\r
1017                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'\r
1018    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />\r
1019                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'\r
1020    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />\r
1021                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'\r
1022    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />\r
1023                                                             </set>\r
1024                                                             <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\r
1025                                                                 <outcome value='true'>\r
1026                                                                     <set>\r
1027                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\r
1028    value='Y' />\r
1029                                                                     </set>\r
1030                                                                 </outcome>\r
1031                                                                 <outcome value='false'>\r
1032                                                                     <set>\r
1033                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\r
1034    value='N' />\r
1035                                                                     </set>\r
1036                                                                 </outcome>\r
1037                                                             </switch>\r
1038                                                         </block>\r
1039                                                     </for>\r
1040                                                     <set>\r
1041                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\r
1042    value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />\r
1043                                                     </set>\r
1044                                                 </block>\r
1045                                             </outcome>\r
1046                                         </switch>\r
1047                                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
1048   key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\r
1049     and network_role = $db.vf-network-role-mapping[$role-index].network-role'\r
1050   pfx='db.vnf-related-network-role[]'>\r
1051                                             <outcome value='failure'>\r
1052                                                 <block atomic="true">\r
1053                                                     <set>\r
1054                                                         <parameter name="error-message" value="Error reading VNF_RELATED_NETWORK_ROLE table" />\r
1055                                                     </set>\r
1056                                                     <block atomic="true">\r
1057                                                         <set>\r
1058                                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1059                                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1060                                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1061                                                         </set>\r
1062                                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1063                                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1064                                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1065                                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1066                                                             <parameter name="input.response-code" value="500" />\r
1067                                                             <parameter name="input.response-message" value="`$error-message`" />\r
1068                                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1069                                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1070                                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1071                                                         </configure>\r
1072                                                         <return status='failure'>\r
1073                                                             <parameter name='ack-final' value='Y'/>\r
1074                                                             <parameter name="error-code" value="500" />\r
1075                                                             <parameter name="error-message" value="`$error-message`" />\r
1076                                                         </return>\r
1077                                                     </block>\r
1078                                                 </block>\r
1079                                             </outcome>\r
1080                                             <outcome value='success'>\r
1081                                                 <block atomic="true">\r
1082                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1083                                                         <parameter name="source" value="`$prop.restapi.network-topology-identifier-structure`"/>\r
1084                                                         <parameter name="outputPath" value="tmp.part"/>\r
1085                                                         <parameter name="target" value="{service-instance-id}"/>\r
1086                                                         <parameter name="replacement" value="`$network-service-instance-id`"/>\r
1087                                                     </execute>\r
1088                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
1089                                                         <parameter name="source" value="`$tmp.part`"/>\r
1090                                                         <parameter name="outputPath" value="tmp.ntis-url"/>\r
1091                                                         <parameter name="target" value="{network-id}"/>\r
1092                                                         <parameter name="replacement" value="`$l3-network-id`"/>\r
1093                                                     </execute>\r
1094                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1095                                                         <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />\r
1096                                                         <parameter name='restapiUser' value='`$prop.controller.user`' />\r
1097                                                         <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
1098                                                         <parameter name='format' value='json' />\r
1099                                                         <parameter name='httpMethod' value='GET' />\r
1100                                                         <parameter name="responsePrefix" value="mdsal-ntis" />\r
1101                                                         <outcome value='failure'>\r
1102                                                             <block atomic="true">\r
1103                                                                 <set>\r
1104                                                                     <parameter name="error-message" value="`\r
1105     'Error retrieving network-topology-identifier-structure for service instance '\r
1106     + $network-service-instance-id\r
1107     + ' and network-id '\r
1108     + $l3-network-id`" />\r
1109                                                                 </set>\r
1110                                                                 <block atomic="true">\r
1111                                                                     <set>\r
1112                                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1113                                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1114                                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1115                                                                     </set>\r
1116                                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1117                                                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1118                                                                         <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1119                                                                         <parameter name="input.ack-final-indicator" value="Y" />\r
1120                                                                         <parameter name="input.response-code" value="500" />\r
1121                                                                         <parameter name="input.response-message" value="`$error-message`" />\r
1122                                                                         <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1123                                                                         <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1124                                                                         <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1125                                                                     </configure>\r
1126                                                                     <return status='failure'>\r
1127                                                                         <parameter name='ack-final' value='Y'/>\r
1128                                                                         <parameter name="error-code" value="500" />\r
1129                                                                         <parameter name="error-message" value="`$error-message`" />\r
1130                                                                     </return>\r
1131                                                                 </block>\r
1132                                                             </block>\r
1133                                                         </outcome>\r
1134                                                     </execute>\r
1135                                                     <set>\r
1136                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'\r
1137     value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />\r
1138                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'\r
1139     value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />\r
1140                                                     </set>\r
1141                                                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1142       resource="custom-query"\r
1143       key="format = 'resource'"\r
1144       force="true"\r
1145       local-only="false"\r
1146       pfx="tmp.AnAI-data.oe">\r
1147                                                         <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `" />\r
1148                                                         <parameter name="start_length" value="1" />\r
1149                                                         <parameter name="query" value="/query/owning-entity-fromService-instance" />\r
1150                                                         <outcome value='failure'>\r
1151                                                             <block atomic="true">\r
1152                                                                 <set>\r
1153                                                                     <parameter name="error-message" value="Error getting owning entity from service instance" />\r
1154                                                                 </set>\r
1155                                                                 <block atomic="true">\r
1156                                                                     <set>\r
1157                                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1158                                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1159                                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1160                                                                     </set>\r
1161                                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1162                                                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1163                                                                         <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1164                                                                         <parameter name="input.ack-final-indicator" value="Y" />\r
1165                                                                         <parameter name="input.response-code" value="500" />\r
1166                                                                         <parameter name="input.response-message" value="`$error-message`" />\r
1167                                                                         <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1168                                                                         <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1169                                                                         <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1170                                                                     </configure>\r
1171                                                                     <return status='failure'>\r
1172                                                                         <parameter name='ack-final' value='Y'/>\r
1173                                                                         <parameter name="error-code" value="500" />\r
1174                                                                         <parameter name="error-message" value="`$error-message`" />\r
1175                                                                     </return>\r
1176                                                                 </block>\r
1177                                                             </block>\r
1178                                                         </outcome>\r
1179                                                         <outcome value='not-found'>\r
1180                                                             <block atomic="true">\r
1181                                                                 <set>\r
1182                                                                     <parameter name="error-message" value="Unable to find owning entity from service instance" />\r
1183                                                                 </set>\r
1184                                                                 <block atomic="true">\r
1185                                                                     <set>\r
1186                                                                         <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1187                                                                         <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1188                                                                         <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1189                                                                     </set>\r
1190                                                                     <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1191                                                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1192                                                                         <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1193                                                                         <parameter name="input.ack-final-indicator" value="Y" />\r
1194                                                                         <parameter name="input.response-code" value="500" />\r
1195                                                                         <parameter name="input.response-message" value="`$error-message`" />\r
1196                                                                         <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1197                                                                         <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1198                                                                         <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1199                                                                     </configure>\r
1200                                                                     <return status='failure'>\r
1201                                                                         <parameter name='ack-final' value='Y'/>\r
1202                                                                         <parameter name="error-code" value="500" />\r
1203                                                                         <parameter name="error-message" value="`$error-message`" />\r
1204                                                                     </return>\r
1205                                                                 </block>\r
1206                                                             </block>\r
1207                                                         </outcome>\r
1208                                                     </save>\r
1209                                                     <set>\r
1210                                                         <parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />\r
1211                                                     </set>\r
1212                                                     <switch test='`$rn-index`'>\r
1213                                                         <outcome value=''>\r
1214                                                             <set>\r
1215                                                                 <parameter name='rn-index' value='0' />\r
1216                                                             </set>\r
1217                                                         </outcome>\r
1218                                                     </switch>\r
1219                                                     <for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >\r
1220                                                         <block atomic="true">\r
1221                                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1222       resource="custom-query"\r
1223       key="format = 'resource'"\r
1224       force="true"\r
1225       local-only="false"\r
1226       pfx="tmp.AnAI-data.get-networks">\r
1227                                                                 <parameter name="start[0]" value="`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `" />\r
1228                                                                 <parameter name="start_length" value="1" />\r
1229                                                                 <parameter name="query" value="`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role\r
1230   + '&amp;cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />\r
1231                                                                 <outcome value='failure'>\r
1232                                                                     <block atomic="true">\r
1233                                                                         <set>\r
1234                                                                             <parameter name="error-message" value="Error calling getNetworks custom query in AAI" />\r
1235                                                                         </set>\r
1236                                                                         <block atomic="true">\r
1237                                                                             <set>\r
1238                                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1239                                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1240                                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1241                                                                             </set>\r
1242                                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1243                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1244                                                                                 <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1245                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1246                                                                                 <parameter name="input.response-code" value="500" />\r
1247                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1248                                                                                 <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1249                                                                                 <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1250                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1251                                                                             </configure>\r
1252                                                                             <return status='failure'>\r
1253                                                                                 <parameter name='ack-final' value='Y'/>\r
1254                                                                                 <parameter name="error-code" value="500" />\r
1255                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1256                                                                             </return>\r
1257                                                                         </block>\r
1258                                                                     </block>\r
1259                                                                 </outcome>\r
1260                                                                 <outcome value='not-found'>\r
1261                                                                     <block atomic="true">\r
1262                                                                         <set>\r
1263                                                                             <parameter name="error-message" value="`'No l3-network returned from getNetworks custom query for related network role '\r
1264       + $db.vnf-related-network-role[0].related-network-role`" />\r
1265                                                                         </set>\r
1266                                                                         <block atomic="true">\r
1267                                                                             <set>\r
1268                                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1269                                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1270                                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1271                                                                             </set>\r
1272                                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1273                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1274                                                                                 <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1275                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1276                                                                                 <parameter name="input.response-code" value="500" />\r
1277                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1278                                                                                 <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1279                                                                                 <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1280                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1281                                                                             </configure>\r
1282                                                                             <return status='failure'>\r
1283                                                                                 <parameter name='ack-final' value='Y'/>\r
1284                                                                                 <parameter name="error-code" value="500" />\r
1285                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1286                                                                             </return>\r
1287                                                                         </block>\r
1288                                                                     </block>\r
1289                                                                 </outcome>\r
1290                                                             </save>\r
1291                                                             <set>\r
1292                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'\r
1293   value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />\r
1294                                                                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'\r
1295   value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />\r
1296                                                             </set>\r
1297                                                             <for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >\r
1298                                                                 <switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>\r
1299                                                                     <outcome value='vlan-tag'>\r
1300                                                                         <block atomic="true">\r
1301                                                                             <set>\r
1302                                                                                 <parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />\r
1303                                                                             </set>\r
1304                                                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1305                 resource="vlan-tag" \r
1306                 key="vlan-tag.vlan-tag-id = $vlan-tag-id"\r
1307         pfx='aai.vlan-tag' local-only='false'\r
1308 >\r
1309                                                                                 <outcome value='failure'>\r
1310                                                                                     <block atomic="true">\r
1311                                                                                         <set>\r
1312                                                                                             <parameter name="error-message" value="Error getting vlan-tag object from AAI" />\r
1313                                                                                         </set>\r
1314                                                                                         <block atomic="true">\r
1315                                                                                             <set>\r
1316                                                                                                 <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1317                                                                                                 <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1318                                                                                                 <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1319                                                                                             </set>\r
1320                                                                                             <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1321                                                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1322                                                                                                 <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1323                                                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1324                                                                                                 <parameter name="input.response-code" value="500" />\r
1325                                                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1326                                                                                                 <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1327                                                                                                 <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1328                                                                                                 <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1329                                                                                             </configure>\r
1330                                                                                             <return status='failure'>\r
1331                                                                                                 <parameter name='ack-final' value='Y'/>\r
1332                                                                                                 <parameter name="error-code" value="500" />\r
1333                                                                                                 <parameter name="error-message" value="`$error-message`" />\r
1334                                                                                             </return>\r
1335                                                                                         </block>\r
1336                                                                                     </block>\r
1337                                                                                 </outcome>\r
1338                                                                                 <outcome value='success'>\r
1339                                                                                     <set>\r
1340                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\r
1341   value='`$aai.vlan-tag.vlan-tag-id`' />\r
1342                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\r
1343   value='`$aai.vlan-tag.vlan-id-outer`' />\r
1344                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\r
1345   value='`$aai.vlan-tag.vlan-id-inner`' />\r
1346                                                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\r
1347   value='`$aai.vlan-tag.is-private`' />\r
1348                                                                                     </set>\r
1349                                                                                 </outcome>\r
1350                                                                             </get-resource>\r
1351                                                                             <break/>\r
1352                                                                         </block>\r
1353                                                                     </outcome>\r
1354                                                                 </switch>\r
1355                                                             </for>\r
1356                                                         </block>\r
1357                                                     </for>\r
1358                                                     <set>\r
1359                                                         <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'\r
1360   value='`$rn-index + 1`' />\r
1361                                                     </set>\r
1362                                                 </block>\r
1363                                             </outcome>\r
1364                                         </get-resource>\r
1365                                         <set>\r
1366                                             <parameter name='network-index' value='`$network-index + 1`' />\r
1367                                         </set>\r
1368                                     </block>\r
1369                                 </outcome>\r
1370                             </switch>\r
1371                         </for>\r
1372                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
1373                             <parameter name='filename' value='/var/tmp/bgb-vnfa.log' />\r
1374                         </execute>\r
1375                         <set>\r
1376                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\r
1377   value='`$network-index`' />\r
1378                         </set>\r
1379                         <set>\r
1380                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\r
1381   value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\r
1382                         </set>\r
1383                         <switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>\r
1384                             <outcome value=''>\r
1385                                 <switch test='`$db.vf-model.avail-zone-max-count &gt; 0`'>\r
1386                                     <outcome value='true'>\r
1387                                         <block atomic="true">\r
1388                                             <set>\r
1389                                                 <parameter name="error-message" value="`'No availability zones found in AAI for cloud region '\r
1390        + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />\r
1391                                             </set>\r
1392                                             <block atomic="true">\r
1393                                                 <set>\r
1394                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1395                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1396                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1397                                                 </set>\r
1398                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1399                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1400                                                     <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1401                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1402                                                     <parameter name="input.response-code" value="500" />\r
1403                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1404                                                     <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1405                                                     <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1406                                                     <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1407                                                 </configure>\r
1408                                                 <return status='failure'>\r
1409                                                     <parameter name='ack-final' value='Y'/>\r
1410                                                     <parameter name="error-code" value="500" />\r
1411                                                     <parameter name="error-message" value="`$error-message`" />\r
1412                                                 </return>\r
1413                                             </block>\r
1414                                         </block>\r
1415                                     </outcome>\r
1416                                     <outcome value='false'>\r
1417                                         <set>\r
1418                                             <parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />\r
1419                                         </set>\r
1420                                     </outcome>\r
1421                                 </switch>\r
1422                             </outcome>\r
1423                         </switch>\r
1424                         <for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >\r
1425                             <block atomic="true">\r
1426                                 <set>\r
1427                                     <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'\r
1428   value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />\r
1429                                 </set>\r
1430                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1431    resource="generic-vnf:relationship-list"\r
1432    key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"\r
1433    force="true" pfx="tmp.AnAI-data">\r
1434                                     <parameter name="relationship-list.relationship[0].related-to" value="availability-zone" />\r
1435                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />\r
1436                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />\r
1437                                     <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />\r
1438                                     <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />\r
1439                                     <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" />\r
1440                                     <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`" />\r
1441                                     <outcome value='failure'>\r
1442                                         <block atomic="true">\r
1443                                             <set>\r
1444                                                 <parameter name="error-message" value="Error updating generic-vnf in AAI" />\r
1445                                             </set>\r
1446                                             <block atomic="true">\r
1447                                                 <set>\r
1448                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1449                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1450                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1451                                                 </set>\r
1452                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1453                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1454                                                     <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1455                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1456                                                     <parameter name="input.response-code" value="500" />\r
1457                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1458                                                     <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1459                                                     <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1460                                                     <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1461                                                 </configure>\r
1462                                                 <return status='failure'>\r
1463                                                     <parameter name='ack-final' value='Y'/>\r
1464                                                     <parameter name="error-code" value="500" />\r
1465                                                     <parameter name="error-message" value="`$error-message`" />\r
1466                                                 </return>\r
1467                                             </block>\r
1468                                         </block>\r
1469                                     </outcome>\r
1470                                     <outcome value='not-found'>\r
1471                                         <block atomic="true">\r
1472                                             <set>\r
1473                                                 <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />\r
1474                                             </set>\r
1475                                             <block atomic="true">\r
1476                                                 <set>\r
1477                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1478                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1479                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1480                                                 </set>\r
1481                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1482                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1483                                                     <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1484                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1485                                                     <parameter name="input.response-code" value="500" />\r
1486                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1487                                                     <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1488                                                     <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1489                                                     <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1490                                                 </configure>\r
1491                                                 <return status='failure'>\r
1492                                                     <parameter name='ack-final' value='Y'/>\r
1493                                                     <parameter name="error-code" value="500" />\r
1494                                                     <parameter name="error-message" value="`$error-message`" />\r
1495                                                 </return>\r
1496                                             </block>\r
1497                                         </block>\r
1498                                     </outcome>\r
1499                                 </save>\r
1500                             </block>\r
1501                         </for>\r
1502                         <set>\r
1503                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'\r
1504    value='`$db.vf-model.avail-zone-max-count`' />\r
1505                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'\r
1506    value='`$aai.cloud-region.availability-zones.availability-zone_length`' />\r
1507                         </set>\r
1508                         <for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\r
1509                             <block atomic="true">\r
1510                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1511    resource="generic-vnf:relationship-list"\r
1512    key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"\r
1513    force="true" pfx="tmp.AnAI-data">\r
1514                                     <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
1515                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />\r
1516                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`" />\r
1517                                     <outcome value='failure'>\r
1518                                         <block atomic="true">\r
1519                                             <set>\r
1520                                                 <parameter name="error-message" value="Error updating generic-vnf in AAI" />\r
1521                                             </set>\r
1522                                             <block atomic="true">\r
1523                                                 <set>\r
1524                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1525                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1526                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1527                                                 </set>\r
1528                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1529                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1530                                                     <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1531                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1532                                                     <parameter name="input.response-code" value="500" />\r
1533                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1534                                                     <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1535                                                     <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1536                                                     <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1537                                                 </configure>\r
1538                                                 <return status='failure'>\r
1539                                                     <parameter name='ack-final' value='Y'/>\r
1540                                                     <parameter name="error-code" value="500" />\r
1541                                                     <parameter name="error-message" value="`$error-message`" />\r
1542                                                 </return>\r
1543                                             </block>\r
1544                                         </block>\r
1545                                     </outcome>\r
1546                                     <outcome value='not-found'>\r
1547                                         <block atomic="true">\r
1548                                             <set>\r
1549                                                 <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />\r
1550                                             </set>\r
1551                                             <block atomic="true">\r
1552                                                 <set>\r
1553                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1554                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1555                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1556                                                 </set>\r
1557                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1558                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1559                                                     <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1560                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1561                                                     <parameter name="input.response-code" value="500" />\r
1562                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1563                                                     <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1564                                                     <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1565                                                     <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1566                                                 </configure>\r
1567                                                 <return status='failure'>\r
1568                                                     <parameter name='ack-final' value='Y'/>\r
1569                                                     <parameter name="error-code" value="500" />\r
1570                                                     <parameter name="error-message" value="`$error-message`" />\r
1571                                                 </return>\r
1572                                             </block>\r
1573                                         </block>\r
1574                                     </outcome>\r
1575                                 </save>\r
1576                             </block>\r
1577                         </for>\r
1578                         <set>\r
1579                             <parameter name='vnf-object-path'\r
1580  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
1581  + $vnf-topology-operation-input.service-information.service-instance-id\r
1582  + '/service-data/vnfs/vnf/'\r
1583  + $service-data.vnfs.vnf[$vnf-index].vnf-id\r
1584  + '/vnf-data/vnf-topology/'`"/>\r
1585                             <parameter name='service-object-path'\r
1586  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
1587  + $vnf-topology-operation-input.service-information.service-instance-id\r
1588  + '/service-data/service-topology/'`"/>\r
1589                         </set>\r
1590                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1591    resource="generic-vnf"\r
1592    key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"\r
1593    force="true" pfx="tmp.AnAI-data">\r
1594                             <parameter name="vnf-name" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`" />\r
1595                             <parameter name="prov-status" value="PREPROV" />\r
1596                             <!-- <parameter name="operational-status" value="out-of-service-path" /> -->\r
1597                             <parameter name="equipment-role" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`" />\r
1598                             <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />\r
1599                             <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />\r
1600                             <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />\r
1601                             <parameter name="in-maint" value="true" />\r
1602                             <parameter name="selflink" value="`$vnf-object-path`" />\r
1603                             <outcome value='failure'>\r
1604                                 <block atomic="true">\r
1605                                     <set>\r
1606                                         <parameter name="error-message" value="Error updating selflink in generic-vnf in AAI" />\r
1607                                     </set>\r
1608                                     <block atomic="true">\r
1609                                         <set>\r
1610                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1611                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1612                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1613                                         </set>\r
1614                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1615                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1616                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1617                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1618                                             <parameter name="input.response-code" value="500" />\r
1619                                             <parameter name="input.response-message" value="`$error-message`" />\r
1620                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1621                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1622                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1623                                         </configure>\r
1624                                         <return status='failure'>\r
1625                                             <parameter name='ack-final' value='Y'/>\r
1626                                             <parameter name="error-code" value="500" />\r
1627                                             <parameter name="error-message" value="`$error-message`" />\r
1628                                         </return>\r
1629                                     </block>\r
1630                                 </block>\r
1631                             </outcome>\r
1632                             <outcome value='not-found'>\r
1633                                 <block atomic="true">\r
1634                                     <set>\r
1635                                         <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />\r
1636                                     </set>\r
1637                                     <block atomic="true">\r
1638                                         <set>\r
1639                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1640                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1641                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1642                                         </set>\r
1643                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1644                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1645                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1646                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1647                                             <parameter name="input.response-code" value="500" />\r
1648                                             <parameter name="input.response-message" value="`$error-message`" />\r
1649                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1650                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1651                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1652                                         </configure>\r
1653                                         <return status='failure'>\r
1654                                             <parameter name='ack-final' value='Y'/>\r
1655                                             <parameter name="error-code" value="500" />\r
1656                                             <parameter name="error-message" value="`$error-message`" />\r
1657                                         </return>\r
1658                                     </block>\r
1659                                 </block>\r
1660                             </outcome>\r
1661                         </update>\r
1662                         <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\r
1663                             <block atomic="true">\r
1664                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1665    resource="generic-vnf:relationship-list"\r
1666    key="generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id"\r
1667    force="true" pfx="tmp.AnAI-data">\r
1668                                     <parameter name="relationship-list.relationship[0].related-to" value="instance-group" />\r
1669                                     <parameter name="relationship-list.relationship[0].related-link"\r
1670       value="`'/aai/v$/network/instance-groups/instance-group/'\r
1671         + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`" />\r
1672                                     <outcome value='failure'>\r
1673                                         <block atomic="true">\r
1674                                             <set>\r
1675                                                 <parameter name="error-message" value="Error updating relationship in generic-vnf in AAI" />\r
1676                                             </set>\r
1677                                             <block atomic="true">\r
1678                                                 <set>\r
1679                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1680                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1681                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1682                                                 </set>\r
1683                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1684                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1685                                                     <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1686                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1687                                                     <parameter name="input.response-code" value="500" />\r
1688                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1689                                                     <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1690                                                     <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1691                                                     <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1692                                                 </configure>\r
1693                                                 <return status='failure'>\r
1694                                                     <parameter name='ack-final' value='Y'/>\r
1695                                                     <parameter name="error-code" value="500" />\r
1696                                                     <parameter name="error-message" value="`$error-message`" />\r
1697                                                 </return>\r
1698                                             </block>\r
1699                                         </block>\r
1700                                     </outcome>\r
1701                                     <outcome value='not-found'>\r
1702                                         <block atomic="true">\r
1703                                             <set>\r
1704                                                 <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />\r
1705                                             </set>\r
1706                                             <block atomic="true">\r
1707                                                 <set>\r
1708                                                     <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1709                                                     <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1710                                                     <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1711                                                 </set>\r
1712                                                 <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1713                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1714                                                     <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1715                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1716                                                     <parameter name="input.response-code" value="500" />\r
1717                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1718                                                     <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1719                                                     <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1720                                                     <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1721                                                 </configure>\r
1722                                                 <return status='failure'>\r
1723                                                     <parameter name='ack-final' value='Y'/>\r
1724                                                     <parameter name="error-code" value="500" />\r
1725                                                     <parameter name="error-message" value="`$error-message`" />\r
1726                                                 </return>\r
1727                                             </block>\r
1728                                         </block>\r
1729                                     </outcome>\r
1730                                 </save>\r
1731                             </block>\r
1732                         </for>\r
1733                         <set>\r
1734                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\r
1735                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\r
1736                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\r
1737                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\r
1738                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\r
1739                         </set>\r
1740                         <set>\r
1741                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\r
1742                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\r
1743                             <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\r
1744                         </set>\r
1745                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1746                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + 'vnf-data-assign.json'`" />\r
1747                             <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.vnf.url`" />\r
1748                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
1749                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
1750                             <parameter name='format' value='json' />\r
1751                             <parameter name='httpMethod' value='PUT' />\r
1752                             <parameter name="responsePrefix" value="vnf-assign" />\r
1753                             <outcome value='failure'>\r
1754                                 <block atomic="true">\r
1755                                     <set>\r
1756                                         <parameter name="error-message" value="Error doing PUT of vnf-data" />\r
1757                                     </set>\r
1758                                     <block atomic="true">\r
1759                                         <set>\r
1760                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1761                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1762                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1763                                         </set>\r
1764                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1765                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1766                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1767                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1768                                             <parameter name="input.response-code" value="500" />\r
1769                                             <parameter name="input.response-message" value="`$error-message`" />\r
1770                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1771                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1772                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1773                                         </configure>\r
1774                                         <return status='failure'>\r
1775                                             <parameter name='ack-final' value='Y'/>\r
1776                                             <parameter name="error-code" value="500" />\r
1777                                             <parameter name="error-message" value="`$error-message`" />\r
1778                                         </return>\r
1779                                     </block>\r
1780                                 </block>\r
1781                             </outcome>\r
1782                             <outcome value='not-found'>\r
1783                                 <block atomic="true">\r
1784                                     <set>\r
1785                                         <parameter name="error-message" value="Error doing PUT of vnf-data" />\r
1786                                     </set>\r
1787                                     <block atomic="true">\r
1788                                         <set>\r
1789                                             <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\r
1790                                             <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
1791                                             <parameter name='naming-policy-generate-name-input.action' value='DELETE' />\r
1792                                         </set>\r
1793                                         <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>\r
1794                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1795                                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1796                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1797                                             <parameter name="input.response-code" value="500" />\r
1798                                             <parameter name="input.response-message" value="`$error-message`" />\r
1799                                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1800                                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1801                                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1802                                         </configure>\r
1803                                         <return status='failure'>\r
1804                                             <parameter name='ack-final' value='Y'/>\r
1805                                             <parameter name="error-code" value="500" />\r
1806                                             <parameter name="error-message" value="`$error-message`" />\r
1807                                         </return>\r
1808                                     </block>\r
1809                                 </block>\r
1810                             </outcome>\r
1811                         </execute>\r
1812                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
1813                             <parameter name='filename' value='/var/tmp/bgb-vnf.log' />\r
1814                         </execute>\r
1815                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1816                             <parameter name="notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1817                             <parameter name="input.ack-final-indicator" value="Y" />\r
1818                             <parameter name="input.response-code" value="200" />\r
1819                             <parameter name="input.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1820                             <parameter name="input.service-information.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />\r
1821                             <parameter name="input.service-information.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />\r
1822                         </configure>\r
1823                         <return status='success'>\r
1824                             <parameter name="ack-final-indicator" value="Y" />\r
1825                             <parameter name="error-code" value="200" />\r
1826                             <parameter name="error-message" value="`$error-message`" />\r
1827                         </return>\r
1828                     </block>\r
1829                 </outcome>\r
1830             </switch>\r
1831         </block>\r
1832     </method>\r
1833 </service-logic>