Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_port-mirror-topology-operation-assign-async.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='port-mirror-topology-operation-assign-async' mode='sync'>\r
5         <block atomic="true">\r
6             <set>\r
7                 <parameter name='tmp.configuration-id' value='`$port-mirror-topology-operation-input.configuration-information.configuration-id`' />\r
8                 <parameter name='tmp.src-vnf-id' value='`$port-mirror-topology-operation-input.port-mirror-configuration-request-input.source-port.vnf-information.vnf-id`' />\r
9                 <parameter name='tmp.dest-vnf-id' value='`$port-mirror-topology-operation-input.port-mirror-configuration-request-input.dest-port.vnf-information.vnf-id`' />\r
10                 <parameter name='tmp.dest-pnf-name' value='`$port-mirror-topology-operation-input.port-mirror-configuration-request-input.dest-port.pnf-information.pnf-name`' />\r
11                 <parameter name='tmp.service-instance-id' value='`$port-mirror-topology-operation-input.service-information.service-instance-id`' />\r
12                 <parameter name='tmp.configuration-sub-type' value='`$port-mirror-topology-operation-input.configuration-information.configuration-sub-type`' />\r
13             </set>\r
14             <set>\r
15                 <parameter name='pm.configuration-id' value='`$tmp.configuration-id`' />\r
16                 <parameter name='pm.configuration-data.configuration-operation-information.sdnc-request-header.'\r
17   value='`$port-mirror-topology-operation-input.sdnc-request-header.`' />\r
18                 <parameter name='pm.configuration-data.configuration-operation-information.request-information.'\r
19   value='`$port-mirror-topology-operation-input.request-information.`' />\r
20                 <parameter name='pm.configuration-data.configuration-operation-information.service-information.'\r
21   value='`$port-mirror-topology-operation-input.service-information.`' />\r
22                 <parameter name='pm.configuration-data.configuration-operation-information.configuration-information.'\r
23   value='`$port-mirror-topology-operation-input.configuration-information.`' />\r
24                 <parameter name='pm.configuration-data.configuration-operation-information.port-mirror-configuration-request-input.'\r
25   value='`$port-mirror-topology-operation-input.port-mirror-configuration-request-input.`' />\r
26             </set>\r
27             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
28                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
29                 <parameter name='contextPrefix' value='prop' />\r
30             </execute>\r
31             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
32   key='select role,nfc_naming_code,pps_capacity,network_role,policy_name\r
33     from PORT_MIRROR_CAPABILITY cap, PORT_MIRROR_CONFIGURATION conf, SERVICE_PROXY sp\r
34     where cap.port_mirror_capability_name=conf.port_mirror_capability_name\r
35      and cap.port_mirror_service_uuid=conf.port_mirror_service_uuid\r
36      and cap.service_proxy_name=conf.service_proxy_name\r
37      and cap.service_proxy_name=sp.service_proxy_name\r
38      and cap.port_mirror_service_uuid=sp.parent_service_uuid\r
39      and conf.customization_uuid = $port-mirror-topology-operation-input.configuration-information.onap-model-information.model-customization-uuid\r
40      and conf.port_mirror_service_uuid = $service-data.service-information.onap-model-information.model-uuid\r
41     order by role'\r
42   pfx='db.cap[]'>\r
43                 <outcome value='failure'>\r
44                     <block atomic="true">\r
45                         <set>\r
46                             <parameter name="error-message" value="Error reading PORT_MIRROR_CONFIGURATION table" />\r
47                         </set>\r
48                         <block>\r
49                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
50                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
51                                 <parameter name="input.ack-final-indicator" value="Y" />\r
52                                 <parameter name="input.response-code" value="500" />\r
53                                 <parameter name="input.response-message" value="`$error-message`" />\r
54                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
55                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
56                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
57                             </configure>\r
58                             <return status='failure'>\r
59                                 <parameter name='ack-final' value='Y'/>\r
60                                 <parameter name="error-code" value="500" />\r
61                                 <parameter name="error-message" value="`$error-message`" />\r
62                             </return>\r
63                         </block>\r
64                     </block>\r
65                 </outcome>\r
66                 <outcome value='not-found'>\r
67                     <block atomic="true">\r
68                         <set>\r
69                             <parameter name="error-message" value="Error reading PORT_MIRROR_CONFIGURATION table" />\r
70                         </set>\r
71                         <block>\r
72                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
73                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
74                                 <parameter name="input.ack-final-indicator" value="Y" />\r
75                                 <parameter name="input.response-code" value="500" />\r
76                                 <parameter name="input.response-message" value="`$error-message`" />\r
77                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
78                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
79                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
80                             </configure>\r
81                             <return status='failure'>\r
82                                 <parameter name='ack-final' value='Y'/>\r
83                                 <parameter name="error-code" value="500" />\r
84                                 <parameter name="error-message" value="`$error-message`" />\r
85                             </return>\r
86                         </block>\r
87                     </block>\r
88                 </outcome>\r
89             </get-resource>\r
90             <for index='cap-idx' start='0' end='`$db.cap_length`' >\r
91                 <switch test='`$db.cap[$cap-idx].role`'>\r
92                     <outcome value='source'>\r
93                         <set>\r
94                             <parameter name='tmp.src-pps' value='`$db.cap[$cap-idx].pps-capacity`' />\r
95                             <parameter name='tmp.src-nfc-naming-code' value='`$db.cap[$cap-idx].nfc-naming-code`' />\r
96                             <parameter name='tmp.src-network-role' value='`$db.cap[$cap-idx].network-role`' />\r
97                         </set>\r
98                     </outcome>\r
99                     <outcome value='collector'>\r
100                         <set>\r
101                             <parameter name='tmp.dest-pps' value='`$db.cap[$cap-idx].pps-capacity`' />\r
102                             <parameter name='tmp.dest-nfc-naming-code' value='`$db.cap[$cap-idx].nfc-naming-code`' />\r
103                             <parameter name='tmp.dest-network-role' value='`$db.cap[$cap-idx].network-role`' />\r
104                         </set>\r
105                     </outcome>\r
106                 </switch>\r
107             </for>\r
108             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="replace">\r
109                 <parameter name="source" value="`$tmp.src-nfc-naming-code`" />\r
110                 <parameter name="target" value=" " />\r
111                 <parameter name="replacement" value="%20" />\r
112                 <parameter name="outputPath" value="tmp.encoded-src-nfc-naming-code" />\r
113             </execute>\r
114             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="replace">\r
115                 <parameter name="source" value="`$tmp.dest-nfc-naming-code`" />\r
116                 <parameter name="target" value=" " />\r
117                 <parameter name="replacement" value="%20" />\r
118                 <parameter name="outputPath" value="tmp.encoded-dest-nfc-naming-code" />\r
119             </execute>\r
120             <switch test='`$service-data.vnfc-instance-groups.vnfc-instance-group_length`'>\r
121                 <outcome value=''>\r
122                     <switch test='`$tmp.configuration-sub-type`'>\r
123                         <outcome value='vprobe'>\r
124                             <set>\r
125                                 <parameter name='tmp.src-vnfc-idx' value='0' />\r
126                                 <parameter name='tmp.dest-vnfc-idx' value='1' />\r
127                             </set>\r
128                         </outcome>\r
129                         <outcome value='pprobe'>\r
130                             <set>\r
131                                 <parameter name='tmp.src-vnfc-idx' value='0' />\r
132                             </set>\r
133                         </outcome>\r
134                     </switch>\r
135                 </outcome>\r
136                 <outcome value='Other'>\r
137                     <block atomic="true">\r
138                         <for index='vnfc-idx' start='0' end='`$service-data.vnfc-instance-groups.vnfc-instance-group_length`' >\r
139                             <block atomic="true">\r
140                                 <switch test="`$service-data.vnfc-instance-groups.vnfc-instance-group[$vnfc-idx].instance-group-role == $tmp.src-network-role`">\r
141                                     <outcome value='true'>\r
142                                         <switch test='`$service-data.vnfc-instance-groups.vnfc-instance-group[$vnfc-idx].nfc-naming-code == $tmp.src-nfc-naming-code`'>\r
143                                             <outcome value='true'>\r
144                                                 <switch test='`$service-data.vnfc-instance-groups.vnfc-instance-group[$vnfc-idx].configuration-id == $tmp.configuration-id`'>\r
145                                                     <outcome value='true'>\r
146                                                         <block atomic="true">\r
147                                                             <set>\r
148                                                                 <parameter name="error-message" value="`'Source nfc-naming-code of ' + $tmp.src-nfc-naming-code + ' already exists in vnfc-instance-groups for this configuration-id'`" />\r
149                                                             </set>\r
150                                                             <block>\r
151                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
152                                                                     <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
153                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
154                                                                     <parameter name="input.response-code" value="500" />\r
155                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
156                                                                     <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
157                                                                     <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
158                                                                     <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
159                                                                 </configure>\r
160                                                                 <return status='failure'>\r
161                                                                     <parameter name='ack-final' value='Y'/>\r
162                                                                     <parameter name="error-code" value="500" />\r
163                                                                     <parameter name="error-message" value="`$error-message`" />\r
164                                                                 </return>\r
165                                                             </block>\r
166                                                         </block>\r
167                                                     </outcome>\r
168                                                 </switch>\r
169                                             </outcome>\r
170                                         </switch>\r
171                                     </outcome>\r
172                                 </switch>\r
173                                 <switch test="`$service-data.vnfc-instance-groups.vnfc-instance-group[$vnfc-idx].instance-group-role == $tmp.dest-network-role`">\r
174                                     <outcome value='true'>\r
175                                         <switch test='`$service-data.vnfc-instance-groups.vnfc-instance-group[$vnfc-idx].nfc-naming-code == $tmp.dest-nfc-naming-code`'>\r
176                                             <outcome value='true'>\r
177                                                 <switch test='`$service-data.vnfc-instance-groups.vnfc-instance-group[$vnfc-idx].configuration-id == $tmp.configuration-id`'>\r
178                                                     <outcome value='true'>\r
179                                                         <block atomic="true">\r
180                                                             <set>\r
181                                                                 <parameter name="error-message" value="`'Dest nfc-naming-code of ' + $tmp.dest-nfc-naming-code + ' already exists in vnfc-instance-groups for this configuration-id'`" />\r
182                                                             </set>\r
183                                                             <block>\r
184                                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
185                                                                     <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
186                                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
187                                                                     <parameter name="input.response-code" value="500" />\r
188                                                                     <parameter name="input.response-message" value="`$error-message`" />\r
189                                                                     <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
190                                                                     <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
191                                                                     <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
192                                                                 </configure>\r
193                                                                 <return status='failure'>\r
194                                                                     <parameter name='ack-final' value='Y'/>\r
195                                                                     <parameter name="error-code" value="500" />\r
196                                                                     <parameter name="error-message" value="`$error-message`" />\r
197                                                                 </return>\r
198                                                             </block>\r
199                                                         </block>\r
200                                                     </outcome>\r
201                                                 </switch>\r
202                                             </outcome>\r
203                                         </switch>\r
204                                     </outcome>\r
205                                 </switch>\r
206                             </block>\r
207                         </for>\r
208                         <switch test='`$tmp.configuration-sub-type`'>\r
209                             <outcome value='vprobe'>\r
210                                 <set>\r
211                                     <parameter name='tmp.src-vnfc-idx' value='`$service-data.vnfc-instance-groups.vnfc-instance-group_length`' />\r
212                                     <parameter name='tmp.dest-vnfc-idx' value='`$service-data.vnfc-instance-groups.vnfc-instance-group_length + 1`' />\r
213                                     <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group_length' value='`$service-data.vnfc-instance-groups.vnfc-instance-group_length + 2`'/>\r
214                                 </set>\r
215                             </outcome>\r
216                             <outcome value='pprobe'>\r
217                                 <set>\r
218                                     <parameter name='tmp.src-vnfc-idx' value='`$service-data.vnfc-instance-groups.vnfc-instance-group_length`' />\r
219                                     <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group_length' value='`$service-data.vnfc-instance-groups.vnfc-instance-group_length + 1`'/>\r
220                                 </set>\r
221                             </outcome>\r
222                         </switch>\r
223                     </block>\r
224                 </outcome>\r
225             </switch>\r
226             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
227       resource="custom-query"\r
228       key="format = 'resource'"\r
229       force="true"\r
230       local-only="false"\r
231       pfx="tmp.AnAI-data.oe">\r
232                 <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $tmp.service-instance-id `" />\r
233                 <parameter name="start_length" value="1" />\r
234                 <parameter name="query" value="/query/owning-entity-fromService-instance" />\r
235                 <outcome value='failure'>\r
236                     <block atomic="true">\r
237                         <set>\r
238                             <parameter name="error-message" value="Failed call to AAI custom query: owning-entity-fromService-instance" />\r
239                         </set>\r
240                         <block>\r
241                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
242                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
243                                 <parameter name="input.ack-final-indicator" value="Y" />\r
244                                 <parameter name="input.response-code" value="500" />\r
245                                 <parameter name="input.response-message" value="`$error-message`" />\r
246                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
247                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
248                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
249                             </configure>\r
250                             <return status='failure'>\r
251                                 <parameter name='ack-final' value='Y'/>\r
252                                 <parameter name="error-code" value="500" />\r
253                                 <parameter name="error-message" value="`$error-message`" />\r
254                             </return>\r
255                         </block>\r
256                     </block>\r
257                 </outcome>\r
258                 <outcome value='not-found'>\r
259                     <block atomic="true">\r
260                         <set>\r
261                             <parameter name="error-message" value="No owning entity returned from AAI: owning-entity-fromService-instance" />\r
262                         </set>\r
263                         <block>\r
264                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
265                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
266                                 <parameter name="input.ack-final-indicator" value="Y" />\r
267                                 <parameter name="input.response-code" value="500" />\r
268                                 <parameter name="input.response-message" value="`$error-message`" />\r
269                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
270                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
271                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
272                             </configure>\r
273                             <return status='failure'>\r
274                                 <parameter name='ack-final' value='Y'/>\r
275                                 <parameter name="error-code" value="500" />\r
276                                 <parameter name="error-message" value="`$error-message`" />\r
277                             </return>\r
278                         </block>\r
279                     </block>\r
280                 </outcome>\r
281                 <outcome value='success'>\r
282                     <set>\r
283                         <parameter name='tmp.owning-entity' value='`$tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id`' />\r
284                     </set>\r
285                 </outcome>\r
286             </save>\r
287             <switch test='`$tmp.owning-entity`'>\r
288                 <outcome value=''>\r
289                     <block atomic="true">\r
290                         <set>\r
291                             <parameter name="error-message" value="Failed call to retrieve owning-entity from AAI" />\r
292                         </set>\r
293                         <block>\r
294                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
295                                 <parameter name="notification-url" value="`$port-mirror-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="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
300                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
301                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-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             </switch>\r
312             <set>\r
313                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.owning-entity' value='`$tmp.owning-entity`' />\r
314             </set>\r
315             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
316       resource="custom-query"\r
317       key="format = 'resource&amp;nodesOnly=true'"\r
318       force="true"\r
319       local-only="false"\r
320       pfx="tmp.AnAI-data.vnf">\r
321                 <parameter name="start[0]" value="`'/network/generic-vnfs/generic-vnf/' + $tmp.src-vnf-id `" />\r
322                 <parameter name="start_length" value="1" />\r
323                 <parameter name="query" value="query/cloud-region-fromVnf" />\r
324                 <outcome value='failure'>\r
325                     <block atomic="true">\r
326                         <set>\r
327                             <parameter name="error-message" value="Failed call to AAI custom query: cloud-region-fromVnf" />\r
328                         </set>\r
329                         <block>\r
330                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
331                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
332                                 <parameter name="input.ack-final-indicator" value="Y" />\r
333                                 <parameter name="input.response-code" value="500" />\r
334                                 <parameter name="input.response-message" value="`$error-message`" />\r
335                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
336                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
337                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
338                             </configure>\r
339                             <return status='failure'>\r
340                                 <parameter name='ack-final' value='Y'/>\r
341                                 <parameter name="error-code" value="500" />\r
342                                 <parameter name="error-message" value="`$error-message`" />\r
343                             </return>\r
344                         </block>\r
345                     </block>\r
346                 </outcome>\r
347                 <outcome value='not-found'>\r
348                     <block atomic="true">\r
349                         <set>\r
350                             <parameter name="error-message" value="No cloud region returned from AAI: cloud-region-fromVnf" />\r
351                         </set>\r
352                         <block>\r
353                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
354                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
355                                 <parameter name="input.ack-final-indicator" value="Y" />\r
356                                 <parameter name="input.response-code" value="500" />\r
357                                 <parameter name="input.response-message" value="`$error-message`" />\r
358                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
359                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
360                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
361                             </configure>\r
362                             <return status='failure'>\r
363                                 <parameter name='ack-final' value='Y'/>\r
364                                 <parameter name="error-code" value="500" />\r
365                                 <parameter name="error-message" value="`$error-message`" />\r
366                             </return>\r
367                         </block>\r
368                     </block>\r
369                 </outcome>\r
370             </save>\r
371             <for index='result-idx' start='0' end='`$tmp.AnAI-data.vnf.results_length`' >\r
372                 <block atomic="true">\r
373                     <switch test='`$tmp.AnAI-data.vnf.results[$result-idx].tenant.tenant-name`'>\r
374                         <outcome value=''>\r
375                             <block></block>\r
376                         </outcome>\r
377                         <outcome value='Other'>\r
378                             <set>\r
379                                 <parameter name='tmp.tenant' value='`$tmp.AnAI-data.vnf.results[$result-idx].tenant.tenant-name`' />\r
380                             </set>\r
381                         </outcome>\r
382                     </switch>\r
383                     <switch test='`$tmp.AnAI-data.vnf.results[$result-idx].tenant.tenant-id`'>\r
384                         <outcome value=''>\r
385                             <block></block>\r
386                         </outcome>\r
387                         <outcome value='Other'>\r
388                             <set>\r
389                                 <parameter name='tmp.tenant-id' value='`$tmp.AnAI-data.vnf.results[$result-idx].tenant.tenant-id`' />\r
390                             </set>\r
391                         </outcome>\r
392                     </switch>\r
393                     <switch test='`$tmp.AnAI-data.vnf.results[$result-idx].tenant.tenant-context`'>\r
394                         <outcome value=''>\r
395                             <block></block>\r
396                         </outcome>\r
397                         <outcome value='Other'>\r
398                             <set>\r
399                                 <parameter name='tmp.tenant-context' value='`$tmp.AnAI-data.vnf.results[$result-idx].tenant.tenant-context`' />\r
400                             </set>\r
401                         </outcome>\r
402                     </switch>\r
403                     <switch test='`$tmp.AnAI-data.vnf.results[$result-idx].cloud-region.cloud-owner`'>\r
404                         <outcome value=''>\r
405                             <block></block>\r
406                         </outcome>\r
407                         <outcome value='Other'>\r
408                             <set>\r
409                                 <parameter name='tmp.cloud-owner' value='`$tmp.AnAI-data.vnf.results[$result-idx].cloud-region.cloud-owner`' />\r
410                             </set>\r
411                         </outcome>\r
412                     </switch>\r
413                     <switch test='`$tmp.AnAI-data.vnf.results[$result-idx].cloud-region.cloud-region-id`'>\r
414                         <outcome value=''>\r
415                             <block></block>\r
416                         </outcome>\r
417                         <outcome value='Other'>\r
418                             <set>\r
419                                 <parameter name='tmp.cloud-region-id' value='`$tmp.AnAI-data.vnf.results[$result-idx].cloud-region.cloud-region-id`' />\r
420                             </set>\r
421                         </outcome>\r
422                     </switch>\r
423                 </block>\r
424             </for>\r
425             <switch test='`$tmp.tenant`'>\r
426                 <outcome value=''>\r
427                     <block atomic="true">\r
428                         <set>\r
429                             <parameter name="error-message" value="Failed call to retrieve source tenant from AAI" />\r
430                         </set>\r
431                         <block>\r
432                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
433                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
434                                 <parameter name="input.ack-final-indicator" value="Y" />\r
435                                 <parameter name="input.response-code" value="500" />\r
436                                 <parameter name="input.response-message" value="`$error-message`" />\r
437                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
438                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
439                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
440                             </configure>\r
441                             <return status='failure'>\r
442                                 <parameter name='ack-final' value='Y'/>\r
443                                 <parameter name="error-code" value="500" />\r
444                                 <parameter name="error-message" value="`$error-message`" />\r
445                             </return>\r
446                         </block>\r
447                     </block>\r
448                 </outcome>\r
449             </switch>\r
450             <switch test='`$tmp.tenant-id`'>\r
451                 <outcome value=''>\r
452                     <block atomic="true">\r
453                         <set>\r
454                             <parameter name="error-message" value="Failed call to retrieve source tenant-id from AAI" />\r
455                         </set>\r
456                         <block>\r
457                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
458                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
459                                 <parameter name="input.ack-final-indicator" value="Y" />\r
460                                 <parameter name="input.response-code" value="500" />\r
461                                 <parameter name="input.response-message" value="`$error-message`" />\r
462                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
463                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
464                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
465                             </configure>\r
466                             <return status='failure'>\r
467                                 <parameter name='ack-final' value='Y'/>\r
468                                 <parameter name="error-code" value="500" />\r
469                                 <parameter name="error-message" value="`$error-message`" />\r
470                             </return>\r
471                         </block>\r
472                     </block>\r
473                 </outcome>\r
474             </switch>\r
475             <switch test='`$tmp.cloud-region-id`'>\r
476                 <outcome value=''>\r
477                     <block atomic="true">\r
478                         <set>\r
479                             <parameter name="error-message" value="Failed call to retrieve tenant from AAI" />\r
480                         </set>\r
481                         <block>\r
482                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
483                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
484                                 <parameter name="input.ack-final-indicator" value="Y" />\r
485                                 <parameter name="input.response-code" value="500" />\r
486                                 <parameter name="input.response-message" value="`$error-message`" />\r
487                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
488                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
489                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
490                             </configure>\r
491                             <return status='failure'>\r
492                                 <parameter name='ack-final' value='Y'/>\r
493                                 <parameter name="error-code" value="500" />\r
494                                 <parameter name="error-message" value="`$error-message`" />\r
495                             </return>\r
496                         </block>\r
497                     </block>\r
498                 </outcome>\r
499             </switch>\r
500             <switch test='`$tmp.cloud-owner`'>\r
501                 <outcome value=''>\r
502                     <block atomic="true">\r
503                         <set>\r
504                             <parameter name="error-message" value="Failed call to retrieve tenant from AAI" />\r
505                         </set>\r
506                         <block>\r
507                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
508                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
509                                 <parameter name="input.ack-final-indicator" value="Y" />\r
510                                 <parameter name="input.response-code" value="500" />\r
511                                 <parameter name="input.response-message" value="`$error-message`" />\r
512                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
513                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
514                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
515                             </configure>\r
516                             <return status='failure'>\r
517                                 <parameter name='ack-final' value='Y'/>\r
518                                 <parameter name="error-code" value="500" />\r
519                                 <parameter name="error-message" value="`$error-message`" />\r
520                             </return>\r
521                         </block>\r
522                     </block>\r
523                 </outcome>\r
524             </switch>\r
525             <switch test='`$tmp.configuration-sub-type`'>\r
526                 <outcome value='vprobe'>\r
527                     <block atomic="true">\r
528                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
529       resource="custom-query"\r
530       key="format = 'resource&amp;nodesOnly=true'"\r
531       force="true"\r
532       local-only="false"\r
533       pfx="tmp.AnAI-data.dest-vnf">\r
534                             <parameter name="start[0]" value="`'/network/generic-vnfs/generic-vnf/' + $tmp.dest-vnf-id `" />\r
535                             <parameter name="start_length" value="1" />\r
536                             <parameter name="query" value="query/cloud-region-fromVnf" />\r
537                             <outcome value='failure'>\r
538                                 <block atomic="true">\r
539                                     <set>\r
540                                         <parameter name="error-message" value="Failed call to AAI custom query: cloud-region-fromVnf, for destination vnf" />\r
541                                     </set>\r
542                                     <block>\r
543                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
544                                             <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
545                                             <parameter name="input.ack-final-indicator" value="Y" />\r
546                                             <parameter name="input.response-code" value="500" />\r
547                                             <parameter name="input.response-message" value="`$error-message`" />\r
548                                             <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
549                                             <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
550                                             <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
551                                         </configure>\r
552                                         <return status='failure'>\r
553                                             <parameter name='ack-final' value='Y'/>\r
554                                             <parameter name="error-code" value="500" />\r
555                                             <parameter name="error-message" value="`$error-message`" />\r
556                                         </return>\r
557                                     </block>\r
558                                 </block>\r
559                             </outcome>\r
560                             <outcome value='not-found'>\r
561                                 <block atomic="true">\r
562                                     <set>\r
563                                         <parameter name="error-message" value="No cloud region returned from AAI: cloud-region-fromVnf, for destination vnf" />\r
564                                     </set>\r
565                                     <block>\r
566                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
567                                             <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
568                                             <parameter name="input.ack-final-indicator" value="Y" />\r
569                                             <parameter name="input.response-code" value="500" />\r
570                                             <parameter name="input.response-message" value="`$error-message`" />\r
571                                             <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
572                                             <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
573                                             <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
574                                         </configure>\r
575                                         <return status='failure'>\r
576                                             <parameter name='ack-final' value='Y'/>\r
577                                             <parameter name="error-code" value="500" />\r
578                                             <parameter name="error-message" value="`$error-message`" />\r
579                                         </return>\r
580                                     </block>\r
581                                 </block>\r
582                             </outcome>\r
583                         </save>\r
584                         <for index='result-idx' start='0' end='`$tmp.AnAI-data.dest-vnf.results_length`' >\r
585                             <switch test='`$tmp.AnAI-data.dest-vnf.results[$result-idx].tenant.tenant-name`'>\r
586                                 <outcome value=''>\r
587                                     <block></block>\r
588                                 </outcome>\r
589                                 <outcome value='Other'>\r
590                                     <set>\r
591                                         <parameter name='tmp.dest-tenant' value='`$tmp.AnAI-data.dest-vnf.results[$result-idx].tenant.tenant-name`' />\r
592                                     </set>\r
593                                 </outcome>\r
594                             </switch>\r
595                             <switch test='`$tmp.AnAI-data.dest-vnf.results[$result-idx].tenant.tenant-id`'>\r
596                                 <outcome value=''>\r
597                                     <block></block>\r
598                                 </outcome>\r
599                                 <outcome value='Other'>\r
600                                     <set>\r
601                                         <parameter name='tmp.dest-tenant-id' value='`$tmp.AnAI-data.dest-vnf.results[$result-idx].tenant.tenant-id`' />\r
602                                     </set>\r
603                                 </outcome>\r
604                             </switch>\r
605                         </for>\r
606                         <switch test='`$tmp.dest-tenant`'>\r
607                             <outcome value=''>\r
608                                 <block atomic="true">\r
609                                     <set>\r
610                                         <parameter name="error-message" value="Failed call to retrieve destination tenant from AAI" />\r
611                                     </set>\r
612                                     <block>\r
613                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
614                                             <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
615                                             <parameter name="input.ack-final-indicator" value="Y" />\r
616                                             <parameter name="input.response-code" value="500" />\r
617                                             <parameter name="input.response-message" value="`$error-message`" />\r
618                                             <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
619                                             <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
620                                             <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
621                                         </configure>\r
622                                         <return status='failure'>\r
623                                             <parameter name='ack-final' value='Y'/>\r
624                                             <parameter name="error-code" value="500" />\r
625                                             <parameter name="error-message" value="`$error-message`" />\r
626                                         </return>\r
627                                     </block>\r
628                                 </block>\r
629                             </outcome>\r
630                         </switch>\r
631                         <switch test='`$tmp.dest-tenant-id`'>\r
632                             <outcome value=''>\r
633                                 <block atomic="true">\r
634                                     <set>\r
635                                         <parameter name="error-message" value="Failed call to retrieve destination tenant-id from AAI" />\r
636                                     </set>\r
637                                 </block>\r
638                             </outcome>\r
639                         </switch>\r
640                     </block>\r
641                 </outcome>\r
642             </switch>\r
643             <set>\r
644                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-owner'\r
645   value='`$tmp.cloud-owner`' />\r
646                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.cloud-region-id'\r
647   value='`$tmp.cloud-region-id`' />\r
648                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant'\r
649   value='`$tmp.tenant`' />\r
650                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant-id'\r
651   value='`$tmp.tenant-id`' />\r
652                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-tenant'\r
653   value='`$tmp.dest-tenant`' />\r
654                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-tenant-id'\r
655   value='`$tmp.dest-tenant-id`' />\r
656                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.tenant-context'\r
657   value='`$tmp.tenant-context`' />\r
658             </set>\r
659             <switch test='`$tmp.configuration-sub-type`'>\r
660                 <outcome value='pprobe'>\r
661                     <block atomic="true">\r
662                         <call module='GENERIC-RESOURCE-API' rpc='port-mirror-get-policy' mode='sync' >\r
663                             <outcome value='failure'>\r
664                                 <block>\r
665                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
666                                         <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
667                                         <parameter name="input.ack-final-indicator" value="Y" />\r
668                                         <parameter name="input.response-code" value="500" />\r
669                                         <parameter name="input.response-message" value="`$error-message`" />\r
670                                         <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
671                                         <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
672                                         <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
673                                     </configure>\r
674                                     <return status='failure'>\r
675                                         <parameter name='ack-final' value='Y'/>\r
676                                         <parameter name="error-code" value="500" />\r
677                                         <parameter name="error-message" value="`$error-message`" />\r
678                                     </return>\r
679                                 </block>\r
680                             </outcome>\r
681                         </call>\r
682                     </block>\r
683                 </outcome>\r
684             </switch>\r
685             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
686       resource="custom-query"\r
687       key="format = 'resource'"\r
688       force="true"\r
689       local-only="false"\r
690       pfx="tmp.AnAI-data.src-network">\r
691                 <parameter name="start[0]" value="`'/cloud-infrastructure/cloud-regions/cloud-region/' + $tmp.cloud-owner + '/'  + $tmp.cloud-region-id`" />\r
692                 <parameter name="start_length" value="1" />\r
693                 <parameter name="query" value="`'/query/network-name-fromNetwork-role?networkRole='  + $tmp.src-network-role`" />\r
694                 <outcome value='failure'>\r
695                     <block atomic="true">\r
696                         <set>\r
697                             <parameter name="error-message" value="Failed call to AAI custom query: network-name-fromNetwork-role" />\r
698                         </set>\r
699                         <block>\r
700                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
701                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
702                                 <parameter name="input.ack-final-indicator" value="Y" />\r
703                                 <parameter name="input.response-code" value="500" />\r
704                                 <parameter name="input.response-message" value="`$error-message`" />\r
705                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
706                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
707                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
708                             </configure>\r
709                             <return status='failure'>\r
710                                 <parameter name='ack-final' value='Y'/>\r
711                                 <parameter name="error-code" value="500" />\r
712                                 <parameter name="error-message" value="`$error-message`" />\r
713                             </return>\r
714                         </block>\r
715                     </block>\r
716                 </outcome>\r
717                 <outcome value='not-found'>\r
718                     <block atomic="true">\r
719                         <set>\r
720                             <parameter name="error-message" value="No network information returned from AAI: network-name-fromNetwork-role" />\r
721                         </set>\r
722                         <block>\r
723                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
724                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
725                                 <parameter name="input.ack-final-indicator" value="Y" />\r
726                                 <parameter name="input.response-code" value="500" />\r
727                                 <parameter name="input.response-message" value="`$error-message`" />\r
728                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
729                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
730                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
731                             </configure>\r
732                             <return status='failure'>\r
733                                 <parameter name='ack-final' value='Y'/>\r
734                                 <parameter name="error-code" value="500" />\r
735                                 <parameter name="error-message" value="`$error-message`" />\r
736                             </return>\r
737                         </block>\r
738                     </block>\r
739                 </outcome>\r
740             </save>\r
741             <switch test='`$tmp.configuration-sub-type`'>\r
742                 <outcome value='vprobe'>\r
743                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
744       resource="custom-query"\r
745       key="format = 'resource'"\r
746       force="true"\r
747       local-only="false"\r
748       pfx="tmp.AnAI-data.dest-network">\r
749                         <parameter name="start[0]" value="`'/cloud-infrastructure/cloud-regions/cloud-region/' + $tmp.cloud-owner + '/'  + $tmp.cloud-region-id`" />\r
750                         <parameter name="start_length" value="1" />\r
751                         <parameter name="query" value="`'/query/network-name-fromNetwork-role?networkRole='  + $tmp.dest-network-role`" />\r
752                         <outcome value='failure'>\r
753                             <block atomic="true">\r
754                                 <set>\r
755                                     <parameter name="error-message" value="Failed call to AAI custom query: network-name-fromNetwork-role" />\r
756                                 </set>\r
757                                 <block>\r
758                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
759                                         <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
760                                         <parameter name="input.ack-final-indicator" value="Y" />\r
761                                         <parameter name="input.response-code" value="500" />\r
762                                         <parameter name="input.response-message" value="`$error-message`" />\r
763                                         <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
764                                         <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
765                                         <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
766                                     </configure>\r
767                                     <return status='failure'>\r
768                                         <parameter name='ack-final' value='Y'/>\r
769                                         <parameter name="error-code" value="500" />\r
770                                         <parameter name="error-message" value="`$error-message`" />\r
771                                     </return>\r
772                                 </block>\r
773                             </block>\r
774                         </outcome>\r
775                         <outcome value='not-found'>\r
776                             <block atomic="true">\r
777                                 <set>\r
778                                     <parameter name="error-message" value="No network information returned from AAI: network-name-fromNetwork-role" />\r
779                                 </set>\r
780                                 <block>\r
781                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
782                                         <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
783                                         <parameter name="input.ack-final-indicator" value="Y" />\r
784                                         <parameter name="input.response-code" value="500" />\r
785                                         <parameter name="input.response-message" value="`$error-message`" />\r
786                                         <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
787                                         <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
788                                         <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
789                                     </configure>\r
790                                     <return status='failure'>\r
791                                         <parameter name='ack-final' value='Y'/>\r
792                                         <parameter name="error-code" value="500" />\r
793                                         <parameter name="error-message" value="`$error-message`" />\r
794                                     </return>\r
795                                 </block>\r
796                             </block>\r
797                         </outcome>\r
798                     </save>\r
799                 </outcome>\r
800             </switch>\r
801             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
802       resource="custom-query"\r
803       key="format = 'resource'"\r
804       force="true"\r
805       local-only="false"\r
806       pfx="tmp.AnAI-data.src-li">\r
807                 <parameter value="`'/network/generic-vnfs/generic-vnf/' + $tmp.src-vnf-id`" name="start[0]"/>\r
808                 <parameter value="1" name="start_length"/>\r
809                 <parameter value="`'/query/vserver-fromVnf?nfcNamingCode=' + $tmp.encoded-src-nfc-naming-code`" name="query"/>\r
810                 <outcome value='failure'>\r
811                     <block atomic="true">\r
812                         <set>\r
813                             <parameter name="error-message" value="Failed call to AAI custom query vserver-fromVnf for source vnf" />\r
814                         </set>\r
815                         <block>\r
816                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
817                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
818                                 <parameter name="input.ack-final-indicator" value="Y" />\r
819                                 <parameter name="input.response-code" value="500" />\r
820                                 <parameter name="input.response-message" value="`$error-message`" />\r
821                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
822                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
823                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
824                             </configure>\r
825                             <return status='failure'>\r
826                                 <parameter name='ack-final' value='Y'/>\r
827                                 <parameter name="error-code" value="500" />\r
828                                 <parameter name="error-message" value="`$error-message`" />\r
829                             </return>\r
830                         </block>\r
831                     </block>\r
832                 </outcome>\r
833                 <outcome value='not-found'>\r
834                     <block atomic="true">\r
835                         <set>\r
836                             <parameter name="error-message" value="No interface data returned from AAI vserver-fromVnf for source vnf" />\r
837                         </set>\r
838                         <block>\r
839                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
840                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
841                                 <parameter name="input.ack-final-indicator" value="Y" />\r
842                                 <parameter name="input.response-code" value="500" />\r
843                                 <parameter name="input.response-message" value="`$error-message`" />\r
844                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
845                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
846                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
847                             </configure>\r
848                             <return status='failure'>\r
849                                 <parameter name='ack-final' value='Y'/>\r
850                                 <parameter name="error-code" value="500" />\r
851                                 <parameter name="error-message" value="`$error-message`" />\r
852                             </return>\r
853                         </block>\r
854                     </block>\r
855                 </outcome>\r
856             </save>\r
857             <switch test='`$tmp.configuration-sub-type`'>\r
858                 <outcome value='vprobe'>\r
859                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
860       resource="custom-query"\r
861       key="format = 'resource'"\r
862       force="true"\r
863       local-only="false"\r
864       pfx="tmp.AnAI-data.dest-li">\r
865                         <parameter value="`'/network/generic-vnfs/generic-vnf/' + $tmp.dest-vnf-id`" name="start[0]"/>\r
866                         <parameter value="1" name="start_length"/>\r
867                         <parameter value="`'/query/vserver-fromVnf?nfcNamingCode=' + $tmp.encoded-dest-nfc-naming-code`" name="query"/>\r
868                         <outcome value='failure'>\r
869                             <block atomic="true">\r
870                                 <set>\r
871                                     <parameter name="error-message" value="Failed call to AAI custom query vserver-fromVnf for dest vnf" />\r
872                                 </set>\r
873                                 <block>\r
874                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
875                                         <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
876                                         <parameter name="input.ack-final-indicator" value="Y" />\r
877                                         <parameter name="input.response-code" value="500" />\r
878                                         <parameter name="input.response-message" value="`$error-message`" />\r
879                                         <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
880                                         <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
881                                         <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
882                                     </configure>\r
883                                     <return status='failure'>\r
884                                         <parameter name='ack-final' value='Y'/>\r
885                                         <parameter name="error-code" value="500" />\r
886                                         <parameter name="error-message" value="`$error-message`" />\r
887                                     </return>\r
888                                 </block>\r
889                             </block>\r
890                         </outcome>\r
891                         <outcome value='not-found'>\r
892                             <block atomic="true">\r
893                                 <set>\r
894                                     <parameter name="error-message" value="No interface data returned from AAI vserver-fromVnf for dest vnf" />\r
895                                 </set>\r
896                                 <block>\r
897                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
898                                         <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
899                                         <parameter name="input.ack-final-indicator" value="Y" />\r
900                                         <parameter name="input.response-code" value="500" />\r
901                                         <parameter name="input.response-message" value="`$error-message`" />\r
902                                         <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
903                                         <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
904                                         <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
905                                     </configure>\r
906                                     <return status='failure'>\r
907                                         <parameter name='ack-final' value='Y'/>\r
908                                         <parameter name="error-code" value="500" />\r
909                                         <parameter name="error-message" value="`$error-message`" />\r
910                                     </return>\r
911                                 </block>\r
912                             </block>\r
913                         </outcome>\r
914                     </save>\r
915                 </outcome>\r
916             </switch>\r
917             <switch test='`$tmp.configuration-sub-type`'>\r
918                 <outcome value='vprobe'>\r
919                     <set>\r
920                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].instance-group-role'\r
921   value='`$tmp.src-network-role`'/>\r
922                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].nfc-naming-code'\r
923   value='`$tmp.src-nfc-naming-code`'/>\r
924                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].group-type'\r
925   value='port-mirror-source'/>\r
926                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].configuration-id'\r
927   value='`$tmp.configuration-id`'/>\r
928                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].instance-group-role'\r
929   value='`$tmp.dest-network-role`'/>\r
930                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].nfc-naming-code'\r
931   value='`$tmp.dest-nfc-naming-code`'/>\r
932                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].group-type'\r
933   value='port-mirror-dest'/>\r
934                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.dest-vnfc-idx].configuration-id'\r
935   value='`$tmp.configuration-id`'/>\r
936                     </set>\r
937                 </outcome>\r
938                 <outcome value='pprobe'>\r
939                     <set>\r
940                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].instance-group-role'\r
941   value='`$tmp.src-network-role`'/>\r
942                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].nfc-naming-code'\r
943   value='`$tmp.src-nfc-naming-code`'/>\r
944                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].group-type'\r
945   value='port-mirror-source'/>\r
946                         <parameter name='service-data.vnfc-instance-groups.vnfc-instance-group[$tmp.src-vnfc-idx].configuration-id'\r
947   value='`$tmp.configuration-id`'/>\r
948                     </set>\r
949                 </outcome>\r
950             </switch>\r
951             <switch test='`$tmp.configuration-sub-type`'>\r
952                 <outcome value='vprobe'>\r
953                     <set>\r
954                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-vnfc-instance-group-id.nfc-naming-code'\r
955   value='`$tmp.src-nfc-naming-code`' />\r
956                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-vnfc-instance-group-id.instance-group-role'\r
957   value='`$tmp.src-network-role`' />\r
958                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-vnfc-instance-group-id.service-instance-id'\r
959   value='`$tmp.service-instance-id`' />\r
960                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-vnfc-instance-group-id.configuration-id'\r
961   value='`$tmp.configuration-id`' />\r
962                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-vnf-id'\r
963   value='`$tmp.src-vnf-id`' />\r
964                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-capacity'\r
965   value='`$tmp.src-pps`' />\r
966                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-vnfc-instance-group-id.nfc-naming-code'\r
967   value='`$tmp.dest-nfc-naming-code`' />\r
968                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-vnfc-instance-group-id.instance-group-role'\r
969   value='`$tmp.dest-network-role`' />\r
970                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-vnfc-instance-group-id.service-instance-id'\r
971   value='`$tmp.service-instance-id`' />\r
972                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-vnfc-instance-group-id.configuration-id'\r
973   value='`$tmp.configuration-id`' />\r
974                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-vnf-id'\r
975   value='`$tmp.dest-vnf-id`' />\r
976                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.probe-type'\r
977   value='vprobe' />\r
978                     </set>\r
979                 </outcome>\r
980                 <outcome value='pprobe'>\r
981                     <set>\r
982                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-vnfc-instance-group-id.nfc-naming-code'\r
983   value='`$tmp.src-nfc-naming-code`' />\r
984                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-vnfc-instance-group-id.instance-group-role'\r
985   value='`$tmp.src-network-role`' />\r
986                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-vnfc-instance-group-id.service-instance-id'\r
987   value='`$tmp.service-instance-id`' />\r
988                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-vnfc-instance-group-id.configuration-id'\r
989   value='`$tmp.configuration-id`' />\r
990                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-vnf-id'\r
991   value='`$tmp.src-vnf-id`' />\r
992                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-capacity'\r
993   value='`$tmp.src-pps`' />\r
994                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-pnf-name'\r
995   value='`$tmp.dest-pnf-name`' />\r
996                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-p-interface'\r
997   value='`$tmp.dest-p-interface`' />\r
998                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-pnf-port-policy-name'\r
999   value='`$db.cap[0].policy-name`' />\r
1000                         <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.probe-type'\r
1001   value='pprobe' />\r
1002                     </set>\r
1003                 </outcome>\r
1004             </switch>\r
1005             <for index='src-nw-idx' start='0' end='`$tmp.AnAI-data.src-network.results_length`' >\r
1006                 <switch test='`$tmp.AnAI-data.src-network.results[$src-nw-idx].l3-network.network-name`'>\r
1007                     <outcome value=''>\r
1008                         <block atomic="true"></block>\r
1009                     </outcome>\r
1010                     <outcome value='Other'>\r
1011                         <switch test='`$tmp.src-network-name`'>\r
1012                             <outcome value=''>\r
1013                                 <set>\r
1014                                     <parameter name='tmp.src-network-name' value='`$tmp.AnAI-data.src-network.results[$src-nw-idx].l3-network.network-name`' />\r
1015                                     <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-network-fqdn'\r
1016   value='`$tmp.AnAI-data.src-network.results[$src-nw-idx].l3-network.contrail-network-fqdn`' />\r
1017                                 </set>\r
1018                             </outcome>\r
1019                             <outcome value='Other'>\r
1020                                 <block atomic="true">\r
1021                                     <set>\r
1022                                         <parameter name="error-message" value="`'More than one l3-network returned from AAI for network-role ' + $tmp.src-network-role`" />\r
1023                                     </set>\r
1024                                     <block>\r
1025                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1026                                             <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1027                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1028                                             <parameter name="input.response-code" value="500" />\r
1029                                             <parameter name="input.response-message" value="`$error-message`" />\r
1030                                             <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1031                                             <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1032                                             <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1033                                         </configure>\r
1034                                         <return status='failure'>\r
1035                                             <parameter name='ack-final' value='Y'/>\r
1036                                             <parameter name="error-code" value="500" />\r
1037                                             <parameter name="error-message" value="`$error-message`" />\r
1038                                         </return>\r
1039                                     </block>\r
1040                                 </block>\r
1041                             </outcome>\r
1042                         </switch>\r
1043                     </outcome>\r
1044                 </switch>\r
1045             </for>\r
1046             <switch test='`$tmp.src-network-name`'>\r
1047                 <outcome value=''>\r
1048                     <block atomic="true">\r
1049                         <set>\r
1050                             <parameter name="error-message" value="Cannot determine source network name from AAI data" />\r
1051                         </set>\r
1052                         <block>\r
1053                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1054                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1055                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1056                                 <parameter name="input.response-code" value="500" />\r
1057                                 <parameter name="input.response-message" value="`$error-message`" />\r
1058                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1059                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1060                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1061                             </configure>\r
1062                             <return status='failure'>\r
1063                                 <parameter name='ack-final' value='Y'/>\r
1064                                 <parameter name="error-code" value="500" />\r
1065                                 <parameter name="error-message" value="`$error-message`" />\r
1066                             </return>\r
1067                         </block>\r
1068                     </block>\r
1069                 </outcome>\r
1070             </switch>\r
1071             <switch test='`$tmp.configuration-sub-type`'>\r
1072                 <outcome value='vprobe'>\r
1073                     <block atomic="true">\r
1074                         <for index='dest-nw-idx' start='0' end='`$tmp.AnAI-data.dest-network.results_length`' >\r
1075                             <switch test='`$tmp.AnAI-data.dest-network.results[$dest-nw-idx].l3-network.network-name`'>\r
1076                                 <outcome value=''>\r
1077                                     <block atomic="true"></block>\r
1078                                 </outcome>\r
1079                                 <outcome value='Other'>\r
1080                                     <switch test='`$tmp.dest-network-name`'>\r
1081                                         <outcome value=''>\r
1082                                             <set>\r
1083                                                 <parameter name='tmp.dest-network-name' value='`$tmp.AnAI-data.dest-network.results[$dest-nw-idx].l3-network.network-name`' />\r
1084                                                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.dest-network-fqdn'\r
1085   value='`$tmp.AnAI-data.dest-network.results[$dest-nw-idx].l3-network.contrail-network-fqdn`' />\r
1086                                             </set>\r
1087                                         </outcome>\r
1088                                         <outcome value='Other'>\r
1089                                             <block atomic="true">\r
1090                                                 <set>\r
1091                                                     <parameter name="error-message" value="`'More than one l3-network returned from AAI for network-role ' + $tmp.dest-network-role`" />\r
1092                                                 </set>\r
1093                                                 <block>\r
1094                                                     <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1095                                                         <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1096                                                         <parameter name="input.ack-final-indicator" value="Y" />\r
1097                                                         <parameter name="input.response-code" value="500" />\r
1098                                                         <parameter name="input.response-message" value="`$error-message`" />\r
1099                                                         <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1100                                                         <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1101                                                         <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1102                                                     </configure>\r
1103                                                     <return status='failure'>\r
1104                                                         <parameter name='ack-final' value='Y'/>\r
1105                                                         <parameter name="error-code" value="500" />\r
1106                                                         <parameter name="error-message" value="`$error-message`" />\r
1107                                                     </return>\r
1108                                                 </block>\r
1109                                             </block>\r
1110                                         </outcome>\r
1111                                     </switch>\r
1112                                 </outcome>\r
1113                             </switch>\r
1114                         </for>\r
1115                         <switch test='`$tmp.dest-network-name`'>\r
1116                             <outcome value=''>\r
1117                                 <block atomic="true">\r
1118                                     <set>\r
1119                                         <parameter name="error-message" value="Cannot determine dest network name from AAI data" />\r
1120                                     </set>\r
1121                                     <block>\r
1122                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1123                                             <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1124                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1125                                             <parameter name="input.response-code" value="500" />\r
1126                                             <parameter name="input.response-message" value="`$error-message`" />\r
1127                                             <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1128                                             <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1129                                             <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1130                                         </configure>\r
1131                                         <return status='failure'>\r
1132                                             <parameter name='ack-final' value='Y'/>\r
1133                                             <parameter name="error-code" value="500" />\r
1134                                             <parameter name="error-message" value="`$error-message`" />\r
1135                                         </return>\r
1136                                     </block>\r
1137                                 </block>\r
1138                             </outcome>\r
1139                         </switch>\r
1140                     </block>\r
1141                 </outcome>\r
1142             </switch>\r
1143             <call module='GENERIC-RESOURCE-API' rpc='port-mirror-topology-operation-create-vnfcs' mode='sync' >\r
1144                 <outcome value='failure'>\r
1145                     <block>\r
1146                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1147                             <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1148                             <parameter name="input.ack-final-indicator" value="Y" />\r
1149                             <parameter name="input.response-code" value="500" />\r
1150                             <parameter name="input.response-message" value="`$error-message`" />\r
1151                             <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1152                             <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1153                             <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1154                         </configure>\r
1155                         <return status='failure'>\r
1156                             <parameter name='ack-final' value='Y'/>\r
1157                             <parameter name="error-code" value="500" />\r
1158                             <parameter name="error-message" value="`$error-message`" />\r
1159                         </return>\r
1160                     </block>\r
1161                 </outcome>\r
1162             </call>\r
1163             <switch test='`$tmp.configuration-sub-type`'>\r
1164                 <outcome value='vprobe'>\r
1165                     <call module='GENERIC-RESOURCE-API' rpc='port-mirror-topology-operation-mapping-vprobe' mode='sync' >\r
1166                         <outcome value='failure'>\r
1167                             <block>\r
1168                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1169                                     <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1170                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1171                                     <parameter name="input.response-code" value="500" />\r
1172                                     <parameter name="input.response-message" value="`$error-message`" />\r
1173                                     <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1174                                     <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1175                                     <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1176                                 </configure>\r
1177                                 <return status='failure'>\r
1178                                     <parameter name='ack-final' value='Y'/>\r
1179                                     <parameter name="error-code" value="500" />\r
1180                                     <parameter name="error-message" value="`$error-message`" />\r
1181                                 </return>\r
1182                             </block>\r
1183                         </outcome>\r
1184                     </call>\r
1185                 </outcome>\r
1186                 <outcome value='pprobe'>\r
1187                     <call module='GENERIC-RESOURCE-API' rpc='port-mirror-topology-operation-mapping-pprobe' mode='sync' >\r
1188                         <outcome value='failure'>\r
1189                             <block>\r
1190                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1191                                     <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1192                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1193                                     <parameter name="input.response-code" value="500" />\r
1194                                     <parameter name="input.response-message" value="`$error-message`" />\r
1195                                     <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1196                                     <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1197                                     <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1198                                 </configure>\r
1199                                 <return status='failure'>\r
1200                                     <parameter name='ack-final' value='Y'/>\r
1201                                     <parameter name="error-code" value="500" />\r
1202                                     <parameter name="error-message" value="`$error-message`" />\r
1203                                 </return>\r
1204                             </block>\r
1205                         </outcome>\r
1206                     </call>\r
1207                 </outcome>\r
1208             </switch>\r
1209             <switch test='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`'>\r
1210                 <outcome value=''>\r
1211                     <block atomic="true">\r
1212                         <set>\r
1213                             <parameter name="error-message" value="No usable source l-interfaces found in AAI data" />\r
1214                         </set>\r
1215                         <block>\r
1216                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1217                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1218                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1219                                 <parameter name="input.response-code" value="500" />\r
1220                                 <parameter name="input.response-message" value="`$error-message`" />\r
1221                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1222                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1223                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1224                             </configure>\r
1225                             <return status='failure'>\r
1226                                 <parameter name='ack-final' value='Y'/>\r
1227                                 <parameter name="error-code" value="500" />\r
1228                                 <parameter name="error-message" value="`$error-message`" />\r
1229                             </return>\r
1230                         </block>\r
1231                     </block>\r
1232                 </outcome>\r
1233                 <outcome value='0'>\r
1234                     <block atomic="true">\r
1235                         <set>\r
1236                             <parameter name="error-message" value="No usable source l-interfaces found in AAI data" />\r
1237                         </set>\r
1238                         <block>\r
1239                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1240                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1241                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1242                                 <parameter name="input.response-code" value="500" />\r
1243                                 <parameter name="input.response-message" value="`$error-message`" />\r
1244                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1245                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1246                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1247                             </configure>\r
1248                             <return status='failure'>\r
1249                                 <parameter name='ack-final' value='Y'/>\r
1250                                 <parameter name="error-code" value="500" />\r
1251                                 <parameter name="error-message" value="`$error-message`" />\r
1252                             </return>\r
1253                         </block>\r
1254                     </block>\r
1255                 </outcome>\r
1256             </switch>\r
1257             <switch test='`$tmp.configuration-sub-type`'>\r
1258                 <outcome value='vprobe'>\r
1259                     <block atomic="true">\r
1260                         <set>\r
1261                             <parameter name='cto-api.parent-service-instance-id' value='`$tmp.service-instance-id`' />\r
1262                             <parameter name='cto-api.port-mirror-configuration-instance-id' value='`$tmp.configuration-id`' />\r
1263                             <parameter name='cto-api.source-network-role' value='`$tmp.src-network-role`' />\r
1264                             <parameter name='cto-api.collector-network-role' value='`$tmp.dest-network-role`' />\r
1265                             <parameter name='cto-api.default-domain' value='default-domain' />\r
1266                             <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
1267                             <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
1268                             <parameter name='cto-api.cloud-owner' value='`$tmp.cloud-owner`' />\r
1269                             <parameter name='cto-api.service-type' value='`$port-mirror-topology-operation-input.service-information.subscription-service-type`' />\r
1270                             <parameter name='cto-api.owning-entity' value='`$tmp.owning-entity`' />\r
1271                         </set>\r
1272                         <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-create' mode='sync' >\r
1273                             <outcome value='failure'>\r
1274                                 <block>\r
1275                                     <switch test='`$tmp.configuration-sub-type`'>\r
1276                                         <outcome value='vprobe'>\r
1277                                             <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
1278                                         </outcome>\r
1279                                     </switch>\r
1280                                     <block>\r
1281                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1282                                             <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1283                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1284                                             <parameter name="input.response-code" value="500" />\r
1285                                             <parameter name="input.response-message" value="`$error-message`" />\r
1286                                             <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1287                                             <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1288                                             <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1289                                         </configure>\r
1290                                         <return status='failure'>\r
1291                                             <parameter name='ack-final' value='Y'/>\r
1292                                             <parameter name="error-code" value="500" />\r
1293                                             <parameter name="error-message" value="`$error-message`" />\r
1294                                         </return>\r
1295                                     </block>\r
1296                                 </block>\r
1297                             </outcome>\r
1298                         </call>\r
1299                         <set>\r
1300                             <parameter name='pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.route-allotted-resource-id'\r
1301   value='`$cto-api.contrail-route-allotted-instance-id`' />\r
1302                         </set>\r
1303                     </block>\r
1304                 </outcome>\r
1305             </switch>\r
1306             <switch test='`$port-mirror-topology-operation-input.configuration-information.configuration-name`'>\r
1307                 <outcome value=''>\r
1308                     <set>\r
1309                         <parameter name='tmp.configuration-name' value="`'PMC_' + $tmp.tenant + '_' + $tmp.cloud-region-id + '_' + $port-mirror-topology-operation-input.configuration-information.configuration-type + '_' + $tmp.configuration-id`" />\r
1310                     </set>\r
1311                 </outcome>\r
1312                 <outcome value='Other'>\r
1313                     <set>\r
1314                         <parameter name='tmp.configuration-name' value='`$port-mirror-topology-operation-input.configuration-information.configuration-name`' />\r
1315                     </set>\r
1316                 </outcome>\r
1317             </switch>\r
1318             <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
1319                 <block atomic="true">\r
1320                     <set>\r
1321                         <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
1322   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
1323   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
1324                     </set>\r
1325                     <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="urlEncode">\r
1326                         <parameter name="source" value="`$tmp.link-name`" />\r
1327                         <parameter name="outputPath" value="tmp.encoded-link-name" />\r
1328                     </execute>\r
1329                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1330         resource="logical-link" \r
1331         key="logical-link.link-name = $tmp.link-name" >\r
1332                         <parameter name="link-name" value="`$tmp.link-name`" />\r
1333                         <parameter name="in-maint" value="false" />\r
1334                         <parameter name="link-type" value="port-mirror-configuration" />\r
1335                         <outcome value='failure'>\r
1336                             <block atomic="true">\r
1337                                 <set>\r
1338                                     <parameter name="error-message" value="`'Failed to create logical link ' + $tmp.link-name\r
1339   + ' in AAI'`" />\r
1340                                 </set>\r
1341                                 <block>\r
1342                                     <set>\r
1343                                         <parameter name='cto-api.default-domain' value='default-domain' />\r
1344                                         <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
1345                                         <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
1346                                         <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
1347                                         <parameter name='cto-api.rollback-flag' value='true' />\r
1348                                         <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
1349                                     </set>\r
1350                                     <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
1351                                     <set>\r
1352                                         <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
1353                                     </set>\r
1354                                     <block>\r
1355                                         <switch test='`$tmp.configuration-sub-type`'>\r
1356                                             <outcome value='vprobe'>\r
1357                                                 <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
1358                                             </outcome>\r
1359                                         </switch>\r
1360                                         <block>\r
1361                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1362                                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1363                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1364                                                 <parameter name="input.response-code" value="500" />\r
1365                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1366                                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1367                                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1368                                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1369                                             </configure>\r
1370                                             <return status='failure'>\r
1371                                                 <parameter name='ack-final' value='Y'/>\r
1372                                                 <parameter name="error-code" value="500" />\r
1373                                                 <parameter name="error-message" value="`$error-message`" />\r
1374                                             </return>\r
1375                                         </block>\r
1376                                     </block>\r
1377                                 </block>\r
1378                             </block>\r
1379                         </outcome>\r
1380                         <outcome value='not-found'>\r
1381                             <block atomic="true">\r
1382                                 <set>\r
1383                                     <parameter name="error-message" value="`'Failed to create logical link ' + $tmp.link-name\r
1384   + ' in AAI'`" />\r
1385                                 </set>\r
1386                                 <block>\r
1387                                     <set>\r
1388                                         <parameter name='cto-api.default-domain' value='default-domain' />\r
1389                                         <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
1390                                         <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
1391                                         <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
1392                                         <parameter name='cto-api.rollback-flag' value='true' />\r
1393                                         <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
1394                                     </set>\r
1395                                     <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
1396                                     <set>\r
1397                                         <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
1398                                     </set>\r
1399                                     <block>\r
1400                                         <switch test='`$tmp.configuration-sub-type`'>\r
1401                                             <outcome value='vprobe'>\r
1402                                                 <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
1403                                             </outcome>\r
1404                                         </switch>\r
1405                                         <block>\r
1406                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1407                                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1408                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1409                                                 <parameter name="input.response-code" value="500" />\r
1410                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1411                                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1412                                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1413                                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1414                                             </configure>\r
1415                                             <return status='failure'>\r
1416                                                 <parameter name='ack-final' value='Y'/>\r
1417                                                 <parameter name="error-code" value="500" />\r
1418                                                 <parameter name="error-message" value="`$error-message`" />\r
1419                                             </return>\r
1420                                         </block>\r
1421                                     </block>\r
1422                                 </block>\r
1423                             </block>\r
1424                         </outcome>\r
1425                     </save>\r
1426                     <switch test='`$tmp.configuration-sub-type`'>\r
1427                         <outcome value='vprobe'>\r
1428                             <block atomic="true">\r
1429                                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="urlEncode">\r
1430                                     <parameter name="source" value="`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name`" />\r
1431                                     <parameter name="outputPath" value="tmp.encoded-source-port-name" />\r
1432                                 </execute>\r
1433                                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="urlEncode">\r
1434                                     <parameter name="source" value="`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
1435                                     <parameter name="outputPath" value="tmp.encoded-dest-port-name" />\r
1436                                 </execute>\r
1437                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1438    resource="logical-link:relationship-list"\r
1439    key="logical-link.link-name = $tmp.link-name"\r
1440    force="true" pfx="tmp.AnAI-data">\r
1441                                     <parameter name="relationship-list.relationship[0].related-to" value="l-interface" />\r
1442                                     <parameter name="relationship-list.relationship[0].relationship-label" value="org.onap.relationships.inventory.Source" />\r
1443                                     <parameter name="relationship-list.relationship[0].related-link"\r
1444       value="`'/aai/v$/cloud-infrastructure/cloud-regions/cloud-region/'\r
1445         + $tmp.cloud-owner + '/' + $tmp.cloud-region-id + '/tenants/tenant/'\r
1446         + $tmp.tenant-id + '/vservers/vserver/' \r
1447         + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-vserver-id\r
1448         + '/l-interfaces/l-interface/'\r
1449         + $tmp.encoded-source-port-name`" />\r
1450                                     <parameter name="relationship-list.relationship[1].related-to" value="l-interface" />\r
1451                                     <parameter name="relationship-list.relationship[1].relationship-label" value="org.onap.relationships.inventory.Destination" />\r
1452                                     <parameter name="relationship-list.relationship[1].related-link"\r
1453       value="`'/aai/v$/cloud-infrastructure/cloud-regions/cloud-region/'\r
1454         + $tmp.cloud-owner + '/' + $tmp.cloud-region-id + '/tenants/tenant/'\r
1455         + $tmp.dest-tenant-id + '/vservers/vserver/' \r
1456         + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-vserver-id\r
1457         + '/l-interfaces/l-interface/'\r
1458         + $tmp.encoded-dest-port-name`" />\r
1459                                     <outcome value='failure'>\r
1460                                         <block atomic="true">\r
1461                                             <set>\r
1462                                                 <parameter name="error-message" value="`'Failed creating relationships for logical link ' + $tmp.link-name\r
1463   + ' in AAI'`" />\r
1464                                             </set>\r
1465                                             <block>\r
1466                                                 <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
1467                                                     <block>\r
1468                                                         <set>\r
1469                                                             <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
1470   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
1471   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
1472                                                         </set>\r
1473                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1474         resource="logical-link" \r
1475         key="logical-link.link-name = $tmp.link-name" ></delete>\r
1476                                                     </block>\r
1477                                                 </for>\r
1478                                                 <block>\r
1479                                                     <set>\r
1480                                                         <parameter name='cto-api.default-domain' value='default-domain' />\r
1481                                                         <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
1482                                                         <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
1483                                                         <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
1484                                                         <parameter name='cto-api.rollback-flag' value='true' />\r
1485                                                         <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
1486                                                     </set>\r
1487                                                     <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
1488                                                     <set>\r
1489                                                         <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
1490                                                     </set>\r
1491                                                     <block>\r
1492                                                         <switch test='`$tmp.configuration-sub-type`'>\r
1493                                                             <outcome value='vprobe'>\r
1494                                                                 <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
1495                                                             </outcome>\r
1496                                                         </switch>\r
1497                                                         <block>\r
1498                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1499                                                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1500                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1501                                                                 <parameter name="input.response-code" value="500" />\r
1502                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1503                                                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1504                                                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1505                                                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1506                                                             </configure>\r
1507                                                             <return status='failure'>\r
1508                                                                 <parameter name='ack-final' value='Y'/>\r
1509                                                                 <parameter name="error-code" value="500" />\r
1510                                                                 <parameter name="error-message" value="`$error-message`" />\r
1511                                                             </return>\r
1512                                                         </block>\r
1513                                                     </block>\r
1514                                                 </block>\r
1515                                             </block>\r
1516                                         </block>\r
1517                                     </outcome>\r
1518                                     <outcome value='not-found'>\r
1519                                         <block atomic="true">\r
1520                                             <set>\r
1521                                                 <parameter name="error-message" value="`'Failed creating relationships for logical link ' + $tmp.link-name\r
1522   + ' in AAI'`" />\r
1523                                             </set>\r
1524                                             <block>\r
1525                                                 <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
1526                                                     <block>\r
1527                                                         <set>\r
1528                                                             <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
1529   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
1530   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
1531                                                         </set>\r
1532                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1533         resource="logical-link" \r
1534         key="logical-link.link-name = $tmp.link-name" ></delete>\r
1535                                                     </block>\r
1536                                                 </for>\r
1537                                                 <block>\r
1538                                                     <set>\r
1539                                                         <parameter name='cto-api.default-domain' value='default-domain' />\r
1540                                                         <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
1541                                                         <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
1542                                                         <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
1543                                                         <parameter name='cto-api.rollback-flag' value='true' />\r
1544                                                         <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
1545                                                     </set>\r
1546                                                     <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
1547                                                     <set>\r
1548                                                         <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
1549                                                     </set>\r
1550                                                     <block>\r
1551                                                         <switch test='`$tmp.configuration-sub-type`'>\r
1552                                                             <outcome value='vprobe'>\r
1553                                                                 <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
1554                                                             </outcome>\r
1555                                                         </switch>\r
1556                                                         <block>\r
1557                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1558                                                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1559                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1560                                                                 <parameter name="input.response-code" value="500" />\r
1561                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1562                                                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1563                                                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1564                                                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1565                                                             </configure>\r
1566                                                             <return status='failure'>\r
1567                                                                 <parameter name='ack-final' value='Y'/>\r
1568                                                                 <parameter name="error-code" value="500" />\r
1569                                                                 <parameter name="error-message" value="`$error-message`" />\r
1570                                                             </return>\r
1571                                                         </block>\r
1572                                                     </block>\r
1573                                                 </block>\r
1574                                             </block>\r
1575                                         </block>\r
1576                                     </outcome>\r
1577                                 </save>\r
1578                             </block>\r
1579                         </outcome>\r
1580                         <outcome value='pprobe'>\r
1581                             <block atomic="true">\r
1582                                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="urlEncode">\r
1583                                     <parameter name="source" value="`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name`" />\r
1584                                     <parameter name="outputPath" value="tmp.encoded-source-port-name" />\r
1585                                 </execute>\r
1586                                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="urlEncode">\r
1587                                     <parameter name="source" value="`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
1588                                     <parameter name="outputPath" value="tmp.encoded-dest-port-name" />\r
1589                                 </execute>\r
1590                                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="urlEncode">\r
1591                                     <parameter name="source" value="`$tmp.dest-p-interface`" />\r
1592                                     <parameter name="outputPath" value="tmp.encoded-dest-p-interface" />\r
1593                                 </execute>\r
1594                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1595    resource="logical-link:relationship-list"\r
1596    key="logical-link.link-name = $tmp.link-name"\r
1597    force="true" pfx="tmp.AnAI-data">\r
1598                                     <parameter name="relationship-list.relationship[0].related-to" value="l-interface" />\r
1599                                     <parameter name="relationship-list.relationship[0].relationship-label" value="org.onap.relationships.inventory.Source" />\r
1600                                     <parameter name="relationship-list.relationship[0].related-link"\r
1601       value="`'/aai/v$/cloud-infrastructure/cloud-regions/cloud-region/'\r
1602         + $tmp.cloud-owner + '/' + $tmp.cloud-region-id + '/tenants/tenant/'\r
1603         + $tmp.tenant-id + '/vservers/vserver/' \r
1604         + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-vserver-id\r
1605         + '/l-interfaces/l-interface/'\r
1606         + $tmp.encoded-source-port-name`" />\r
1607                                     <parameter name="relationship-list.relationship[1].related-to" value="l-interface" />\r
1608                                     <parameter name="relationship-list.relationship[1].relationship-label" value="org.onap.relationships.inventory.Destination" />\r
1609                                     <parameter name="relationship-list.relationship[1].related-link"\r
1610       value="`'/aai/v$/network/pnfs/pnf/'\r
1611         + $tmp.dest-pnf-name + '/p-interfaces/p-interface/'\r
1612         + $tmp.encoded-dest-p-interface + '/l-interfaces/l-interface/' \r
1613         + $tmp.encoded-dest-port-name`" />\r
1614                                     <outcome value='failure'>\r
1615                                         <block atomic="true">\r
1616                                             <set>\r
1617                                                 <parameter name="error-message" value="`'Failed creating relationships for logical link ' + $tmp.link-name\r
1618   + ' in AAI'`" />\r
1619                                             </set>\r
1620                                             <block>\r
1621                                                 <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
1622                                                     <block>\r
1623                                                         <set>\r
1624                                                             <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
1625   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
1626   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
1627                                                         </set>\r
1628                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1629         resource="logical-link" \r
1630         key="logical-link.link-name = $tmp.link-name" ></delete>\r
1631                                                     </block>\r
1632                                                 </for>\r
1633                                                 <block>\r
1634                                                     <set>\r
1635                                                         <parameter name='cto-api.default-domain' value='default-domain' />\r
1636                                                         <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
1637                                                         <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
1638                                                         <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
1639                                                         <parameter name='cto-api.rollback-flag' value='true' />\r
1640                                                         <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
1641                                                     </set>\r
1642                                                     <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
1643                                                     <set>\r
1644                                                         <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
1645                                                     </set>\r
1646                                                     <block>\r
1647                                                         <switch test='`$tmp.configuration-sub-type`'>\r
1648                                                             <outcome value='vprobe'>\r
1649                                                                 <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
1650                                                             </outcome>\r
1651                                                         </switch>\r
1652                                                         <block>\r
1653                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1654                                                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1655                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1656                                                                 <parameter name="input.response-code" value="500" />\r
1657                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1658                                                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1659                                                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1660                                                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1661                                                             </configure>\r
1662                                                             <return status='failure'>\r
1663                                                                 <parameter name='ack-final' value='Y'/>\r
1664                                                                 <parameter name="error-code" value="500" />\r
1665                                                                 <parameter name="error-message" value="`$error-message`" />\r
1666                                                             </return>\r
1667                                                         </block>\r
1668                                                     </block>\r
1669                                                 </block>\r
1670                                             </block>\r
1671                                         </block>\r
1672                                     </outcome>\r
1673                                     <outcome value='not-found'>\r
1674                                         <block atomic="true">\r
1675                                             <set>\r
1676                                                 <parameter name="error-message" value="`'Failed creating relationships for logical link ' + $tmp.link-name\r
1677   + ' in AAI'`" />\r
1678                                             </set>\r
1679                                             <block>\r
1680                                                 <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
1681                                                     <block>\r
1682                                                         <set>\r
1683                                                             <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
1684   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
1685   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
1686                                                         </set>\r
1687                                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1688         resource="logical-link" \r
1689         key="logical-link.link-name = $tmp.link-name" ></delete>\r
1690                                                     </block>\r
1691                                                 </for>\r
1692                                                 <block>\r
1693                                                     <set>\r
1694                                                         <parameter name='cto-api.default-domain' value='default-domain' />\r
1695                                                         <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
1696                                                         <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
1697                                                         <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
1698                                                         <parameter name='cto-api.rollback-flag' value='true' />\r
1699                                                         <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
1700                                                     </set>\r
1701                                                     <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
1702                                                     <set>\r
1703                                                         <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
1704                                                     </set>\r
1705                                                     <block>\r
1706                                                         <switch test='`$tmp.configuration-sub-type`'>\r
1707                                                             <outcome value='vprobe'>\r
1708                                                                 <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
1709                                                             </outcome>\r
1710                                                         </switch>\r
1711                                                         <block>\r
1712                                                             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1713                                                                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1714                                                                 <parameter name="input.ack-final-indicator" value="Y" />\r
1715                                                                 <parameter name="input.response-code" value="500" />\r
1716                                                                 <parameter name="input.response-message" value="`$error-message`" />\r
1717                                                                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1718                                                                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1719                                                                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1720                                                             </configure>\r
1721                                                             <return status='failure'>\r
1722                                                                 <parameter name='ack-final' value='Y'/>\r
1723                                                                 <parameter name="error-code" value="500" />\r
1724                                                                 <parameter name="error-message" value="`$error-message`" />\r
1725                                                             </return>\r
1726                                                         </block>\r
1727                                                     </block>\r
1728                                                 </block>\r
1729                                             </block>\r
1730                                         </block>\r
1731                                     </outcome>\r
1732                                 </save>\r
1733                             </block>\r
1734                         </outcome>\r
1735                     </switch>\r
1736                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1737    resource="configuration:relationship-list"\r
1738    key="configuration.configuration-id = $tmp.configuration-id"\r
1739    force="true" pfx="tmp.AnAI-data">\r
1740                         <parameter name="relationship-list.relationship[0].related-to" value="logical-link" />\r
1741                         <parameter name="relationship-list.relationship[0].related-link"\r
1742       value="`'/aai/v$/network/logical-links/logical-link/' + $tmp.encoded-link-name`" />\r
1743                         <outcome value='failure'>\r
1744                             <block atomic="true">\r
1745                                 <set>\r
1746                                     <parameter name="error-message" value="`'Failed creating logical-link relationship for configuration ' + $tmp.configuration-id\r
1747   + ' in AAI'`" />\r
1748                                 </set>\r
1749                                 <block>\r
1750                                     <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
1751                                         <block>\r
1752                                             <set>\r
1753                                                 <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
1754   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
1755   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
1756                                             </set>\r
1757                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1758         resource="logical-link" \r
1759         key="logical-link.link-name = $tmp.link-name" ></delete>\r
1760                                         </block>\r
1761                                     </for>\r
1762                                     <block>\r
1763                                         <set>\r
1764                                             <parameter name='cto-api.default-domain' value='default-domain' />\r
1765                                             <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
1766                                             <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
1767                                             <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
1768                                             <parameter name='cto-api.rollback-flag' value='true' />\r
1769                                             <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
1770                                         </set>\r
1771                                         <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
1772                                         <set>\r
1773                                             <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
1774                                         </set>\r
1775                                         <block>\r
1776                                             <switch test='`$tmp.configuration-sub-type`'>\r
1777                                                 <outcome value='vprobe'>\r
1778                                                     <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
1779                                                 </outcome>\r
1780                                             </switch>\r
1781                                             <block>\r
1782                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1783                                                     <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1784                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1785                                                     <parameter name="input.response-code" value="500" />\r
1786                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1787                                                     <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1788                                                     <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1789                                                     <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1790                                                 </configure>\r
1791                                                 <return status='failure'>\r
1792                                                     <parameter name='ack-final' value='Y'/>\r
1793                                                     <parameter name="error-code" value="500" />\r
1794                                                     <parameter name="error-message" value="`$error-message`" />\r
1795                                                 </return>\r
1796                                             </block>\r
1797                                         </block>\r
1798                                     </block>\r
1799                                 </block>\r
1800                             </block>\r
1801                         </outcome>\r
1802                         <outcome value='not-found'>\r
1803                             <block atomic="true">\r
1804                                 <set>\r
1805                                     <parameter name="error-message" value="`'Failed creating logical-link relationship for configuration ' + $tmp.configuration-id\r
1806   + ' in AAI'`" />\r
1807                                 </set>\r
1808                                 <block>\r
1809                                     <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
1810                                         <block>\r
1811                                             <set>\r
1812                                                 <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
1813   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
1814   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
1815                                             </set>\r
1816                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1817         resource="logical-link" \r
1818         key="logical-link.link-name = $tmp.link-name" ></delete>\r
1819                                         </block>\r
1820                                     </for>\r
1821                                     <block>\r
1822                                         <set>\r
1823                                             <parameter name='cto-api.default-domain' value='default-domain' />\r
1824                                             <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
1825                                             <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
1826                                             <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
1827                                             <parameter name='cto-api.rollback-flag' value='true' />\r
1828                                             <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
1829                                         </set>\r
1830                                         <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
1831                                         <set>\r
1832                                             <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
1833                                         </set>\r
1834                                         <block>\r
1835                                             <switch test='`$tmp.configuration-sub-type`'>\r
1836                                                 <outcome value='vprobe'>\r
1837                                                     <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
1838                                                 </outcome>\r
1839                                             </switch>\r
1840                                             <block>\r
1841                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1842                                                     <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1843                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
1844                                                     <parameter name="input.response-code" value="500" />\r
1845                                                     <parameter name="input.response-message" value="`$error-message`" />\r
1846                                                     <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1847                                                     <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1848                                                     <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1849                                                 </configure>\r
1850                                                 <return status='failure'>\r
1851                                                     <parameter name='ack-final' value='Y'/>\r
1852                                                     <parameter name="error-code" value="500" />\r
1853                                                     <parameter name="error-message" value="`$error-message`" />\r
1854                                                 </return>\r
1855                                             </block>\r
1856                                         </block>\r
1857                                     </block>\r
1858                                 </block>\r
1859                             </block>\r
1860                         </outcome>\r
1861                     </save>\r
1862                 </block>\r
1863             </for>\r
1864             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1865    resource="configuration"\r
1866    key="configuration.configuration-id = $tmp.configuration-id"\r
1867    force="true" pfx="tmp.AnAI-data">\r
1868                 <parameter name="configuration-name" value="`$tmp.configuration-name`" />\r
1869                 <parameter name="operational-status" value="out-of-service-path" />\r
1870                 <parameter name="configuration-selflink" value="`'/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/'\r
1871   + $port-mirror-topology-operation-input.configuration-information.configuration-id + '/configuration-data/port-mirror-configuration-topology'`" />\r
1872                 <outcome value='not-found'>\r
1873                     <block atomic="true">\r
1874                         <set>\r
1875                             <parameter name="error-message" value="Unable to find configuration object in AAI" />\r
1876                         </set>\r
1877                         <block>\r
1878                             <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
1879                                 <block>\r
1880                                     <set>\r
1881                                         <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
1882   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
1883   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
1884                                     </set>\r
1885                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1886         resource="logical-link" \r
1887         key="logical-link.link-name = $tmp.link-name" ></delete>\r
1888                                 </block>\r
1889                             </for>\r
1890                             <block>\r
1891                                 <set>\r
1892                                     <parameter name='cto-api.default-domain' value='default-domain' />\r
1893                                     <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
1894                                     <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
1895                                     <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
1896                                     <parameter name='cto-api.rollback-flag' value='true' />\r
1897                                     <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
1898                                 </set>\r
1899                                 <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
1900                                 <set>\r
1901                                     <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
1902                                 </set>\r
1903                                 <block>\r
1904                                     <switch test='`$tmp.configuration-sub-type`'>\r
1905                                         <outcome value='vprobe'>\r
1906                                             <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
1907                                         </outcome>\r
1908                                     </switch>\r
1909                                     <block>\r
1910                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1911                                             <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1912                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1913                                             <parameter name="input.response-code" value="500" />\r
1914                                             <parameter name="input.response-message" value="`$error-message`" />\r
1915                                             <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1916                                             <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1917                                             <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1918                                         </configure>\r
1919                                         <return status='failure'>\r
1920                                             <parameter name='ack-final' value='Y'/>\r
1921                                             <parameter name="error-code" value="500" />\r
1922                                             <parameter name="error-message" value="`$error-message`" />\r
1923                                         </return>\r
1924                                     </block>\r
1925                                 </block>\r
1926                             </block>\r
1927                         </block>\r
1928                     </block>\r
1929                 </outcome>\r
1930                 <outcome value='failure'>\r
1931                     <block atomic="true">\r
1932                         <set>\r
1933                             <parameter name="error-message" value="Failure updating configuration object in AAI" />\r
1934                         </set>\r
1935                         <block>\r
1936                             <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
1937                                 <block>\r
1938                                     <set>\r
1939                                         <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
1940   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
1941   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
1942                                     </set>\r
1943                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1944         resource="logical-link" \r
1945         key="logical-link.link-name = $tmp.link-name" ></delete>\r
1946                                 </block>\r
1947                             </for>\r
1948                             <block>\r
1949                                 <set>\r
1950                                     <parameter name='cto-api.default-domain' value='default-domain' />\r
1951                                     <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
1952                                     <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
1953                                     <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
1954                                     <parameter name='cto-api.rollback-flag' value='true' />\r
1955                                     <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
1956                                 </set>\r
1957                                 <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
1958                                 <set>\r
1959                                     <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
1960                                 </set>\r
1961                                 <block>\r
1962                                     <switch test='`$tmp.configuration-sub-type`'>\r
1963                                         <outcome value='vprobe'>\r
1964                                             <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
1965                                         </outcome>\r
1966                                     </switch>\r
1967                                     <block>\r
1968                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
1969                                             <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
1970                                             <parameter name="input.ack-final-indicator" value="Y" />\r
1971                                             <parameter name="input.response-code" value="500" />\r
1972                                             <parameter name="input.response-message" value="`$error-message`" />\r
1973                                             <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
1974                                             <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
1975                                             <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
1976                                         </configure>\r
1977                                         <return status='failure'>\r
1978                                             <parameter name='ack-final' value='Y'/>\r
1979                                             <parameter name="error-code" value="500" />\r
1980                                             <parameter name="error-message" value="`$error-message`" />\r
1981                                         </return>\r
1982                                     </block>\r
1983                                 </block>\r
1984                             </block>\r
1985                         </block>\r
1986                     </block>\r
1987                 </outcome>\r
1988             </update>\r
1989             <switch test='`$tmp.configuration-sub-type`'>\r
1990                 <outcome value='vprobe'>\r
1991                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
1992    resource="configuration:relationship-list"\r
1993    key="configuration.configuration-id = $tmp.configuration-id"\r
1994    force="true" pfx="tmp.AnAI-data">\r
1995                         <parameter name="relationship-list.relationship[0].related-to" value="allotted-resource" />\r
1996                         <parameter name="relationship-list.relationship[0].related-link"\r
1997       value="`'/aai/v$/business/customers/customer/' + $service-data.service-information.global-customer-id\r
1998       + '/service-subscriptions/service-subscription/' + $port-mirror-topology-operation-input.service-information.subscription-service-type\r
1999       + '/service-instances/service-instance/' + $tmp.service-instance-id\r
2000           + '/allotted-resources/allotted-resource/' + $cto-api.contrail-route-allotted-instance-id`" />\r
2001                         <outcome value='failure'>\r
2002                             <block atomic="true">\r
2003                                 <set>\r
2004                                     <parameter name="error-message" value="`'Failed creating logical-link relationship for configuration ' + $tmp.configuration-id\r
2005   + ' in AAI'`" />\r
2006                                 </set>\r
2007                                 <block>\r
2008                                     <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
2009                                         <block>\r
2010                                             <set>\r
2011                                                 <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
2012   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
2013   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
2014                                             </set>\r
2015                                             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
2016         resource="logical-link" \r
2017         key="logical-link.link-name = $tmp.link-name" ></delete>\r
2018                                         </block>\r
2019                                     </for>\r
2020                                     <block>\r
2021                                         <set>\r
2022                                             <parameter name='cto-api.default-domain' value='default-domain' />\r
2023                                             <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
2024                                             <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
2025                                             <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
2026                                             <parameter name='cto-api.rollback-flag' value='true' />\r
2027                                             <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
2028                                         </set>\r
2029                                         <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
2030                                         <set>\r
2031                                             <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
2032                                         </set>\r
2033                                         <block>\r
2034                                             <switch test='`$tmp.configuration-sub-type`'>\r
2035                                                 <outcome value='vprobe'>\r
2036                                                     <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
2037                                                 </outcome>\r
2038                                             </switch>\r
2039                                             <block>\r
2040                                                 <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2041                                                     <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2042                                                     <parameter name="input.ack-final-indicator" value="Y" />\r
2043                                                     <parameter name="input.response-code" value="500" />\r
2044                                                     <parameter name="input.response-message" value="`$error-message`" />\r
2045                                                     <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2046                                                     <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
2047                                                     <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
2048                                                 </configure>\r
2049                                                 <return status='failure'>\r
2050                                                     <parameter name='ack-final' value='Y'/>\r
2051                                                     <parameter name="error-code" value="500" />\r
2052                                                     <parameter name="error-message" value="`$error-message`" />\r
2053                                                 </return>\r
2054                                             </block>\r
2055                                         </block>\r
2056                                     </block>\r
2057                                 </block>\r
2058                             </block>\r
2059                         </outcome>\r
2060                     </save>\r
2061                 </outcome>\r
2062             </switch>\r
2063             <set>\r
2064                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.configuration-identifiers.configuration-id'\r
2065   value='`$tmp.configuration-id`' />\r
2066                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.configuration-identifiers.configuration-type'\r
2067   value='`$port-mirror-topology-operation-input.configuration-information.configuration-type`' />\r
2068                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.configuration-identifiers.configuration-sub-type'\r
2069   value='`$port-mirror-topology-operation-input.configuration-information.configuration-sub-type`' />\r
2070                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.configuration-identifiers.parent-service-instance-id'\r
2071   value='`$tmp.service-instance-id`' />\r
2072                 <parameter name='pm.configuration-data.port-mirror-configuration-topology.configuration-identifiers.configuration-name'\r
2073   value='`$tmp.configuration-name`' />\r
2074             </set>\r
2075             <switch test='`$service-data.provided-configurations.provided-configuration_length`'>\r
2076                 <outcome value=''>\r
2077                     <set>\r
2078                         <parameter name='tmp.provided-conf-idx' value='0' />\r
2079                     </set>\r
2080                 </outcome>\r
2081                 <outcome value='Other'>\r
2082                     <set>\r
2083                         <parameter name='tmp.provided-conf-idx' value='`$service-data.provided-configurations.provided-configuration_length`' />\r
2084                         <parameter name='service-data.provided-configurations.provided-configuration_length' value='`$tmp.provided-conf-idx + 1`' />\r
2085                     </set>\r
2086                 </outcome>\r
2087             </switch>\r
2088             <set>\r
2089                 <parameter name='service-data.provided-configurations.provided-configuration[$tmp.provided-conf-idx].configuration-id'\r
2090   value='`$tmp.configuration-id`' />\r
2091                 <parameter name='service-data.provided-configurations.provided-configuration[$tmp.provided-conf-idx].configuration-type'\r
2092   value='`$port-mirror-topology-operation-input.configuration-information.configuration-type`' />\r
2093                 <parameter name='service-data.provided-configurations.provided-configuration[$tmp.provided-conf-idx].configuration-sub-type'\r
2094   value='`$port-mirror-topology-operation-input.configuration-information.configuration-sub-type`' />\r
2095                 <parameter name='service-data.provided-configurations.provided-configuration[$tmp.provided-conf-idx].configuration-topology-link'\r
2096   value="`'restconf/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/' + $tmp.configuration-id + '/configuration-data/port-mirror-configuration-topology'`" />\r
2097             </set>\r
2098             <set>\r
2099                 <parameter name='pm.configuration-data.configuration-oper-status.order-status'\r
2100   value='Created' />\r
2101                 <parameter name='pm.configuration-data.configuration-oper-status.last-action'\r
2102   value='`$port-mirror-topology-operation-input.request-information.request-action`' />\r
2103                 <parameter name='pm.configuration-data.configuration-oper-status.last-rpc-action'\r
2104   value='`$port-mirror-topology-operation-input.sdnc-request-header.svc-action`' />\r
2105             </set>\r
2106             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
2107                 <parameter name="source" value="`$prop.restapi.pm-configuration`"/>\r
2108                 <parameter name="outputPath" value="tmp.pmc-url"/>\r
2109                 <parameter name="target" value="{configuration-id}"/>\r
2110                 <parameter name="replacement" value="`$tmp.configuration-id`"/>\r
2111             </execute>\r
2112             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
2113                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.portmirrorconfig.templatefile`" />\r
2114                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.pmc-url`' />\r
2115                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
2116                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
2117                 <parameter name='format' value='json' />\r
2118                 <parameter name='httpMethod' value='PUT' />\r
2119                 <parameter name="responsePrefix" value="mdsal-pmc" />\r
2120                 <outcome value='success'>\r
2121                     <block></block>\r
2122                 </outcome>\r
2123                 <outcome value='failure'>\r
2124                     <block atomic="true">\r
2125                         <set>\r
2126                             <parameter name="error-message" value="Error updating md-sal for port-mirror-configuration" />\r
2127                         </set>\r
2128                         <block>\r
2129                             <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
2130                                 <block>\r
2131                                     <set>\r
2132                                         <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
2133   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
2134   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
2135                                     </set>\r
2136                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
2137         resource="logical-link" \r
2138         key="logical-link.link-name = $tmp.link-name" ></delete>\r
2139                                 </block>\r
2140                             </for>\r
2141                             <block>\r
2142                                 <set>\r
2143                                     <parameter name='cto-api.default-domain' value='default-domain' />\r
2144                                     <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
2145                                     <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
2146                                     <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
2147                                     <parameter name='cto-api.rollback-flag' value='true' />\r
2148                                     <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
2149                                 </set>\r
2150                                 <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
2151                                 <set>\r
2152                                     <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
2153                                 </set>\r
2154                                 <block>\r
2155                                     <switch test='`$tmp.configuration-sub-type`'>\r
2156                                         <outcome value='vprobe'>\r
2157                                             <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
2158                                         </outcome>\r
2159                                     </switch>\r
2160                                     <block>\r
2161                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2162                                             <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2163                                             <parameter name="input.ack-final-indicator" value="Y" />\r
2164                                             <parameter name="input.response-code" value="500" />\r
2165                                             <parameter name="input.response-message" value="`$error-message`" />\r
2166                                             <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2167                                             <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
2168                                             <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
2169                                         </configure>\r
2170                                         <return status='failure'>\r
2171                                             <parameter name='ack-final' value='Y'/>\r
2172                                             <parameter name="error-code" value="500" />\r
2173                                             <parameter name="error-message" value="`$error-message`" />\r
2174                                         </return>\r
2175                                     </block>\r
2176                                 </block>\r
2177                             </block>\r
2178                         </block>\r
2179                     </block>\r
2180                 </outcome>\r
2181                 <outcome value='not-found'>\r
2182                     <block atomic="true">\r
2183                         <set>\r
2184                             <parameter name="error-message" value="Error updating md-sal for port-mirror-configuration" />\r
2185                         </set>\r
2186                         <block>\r
2187                             <for index='src-idx' start='0' end='`$pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map_length`' >\r
2188                                 <block>\r
2189                                     <set>\r
2190                                         <parameter name='tmp.link-name' value="`'PMC_' + $tmp.configuration-id\r
2191   + '_Source' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].source-port-name\r
2192   + '_Dest' + $pm.configuration-data.port-mirror-configuration-topology.port-mirror-configuration-assignments.source-to-dest-maps.source-to-dest-map[$src-idx].dest-port-name`" />\r
2193                                     </set>\r
2194                                     <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
2195         resource="logical-link" \r
2196         key="logical-link.link-name = $tmp.link-name" ></delete>\r
2197                                 </block>\r
2198                             </for>\r
2199                             <block>\r
2200                                 <set>\r
2201                                     <parameter name='cto-api.default-domain' value='default-domain' />\r
2202                                     <parameter name='cto-api.default-project' value='`$tmp.tenant`' />\r
2203                                     <parameter name='cto-api.cloud-region-id' value='`$tmp.cloud-region-id`' />\r
2204                                     <parameter name='cto-api.configuration-id' value='`$tmp.configuration-id`' />\r
2205                                     <parameter name='cto-api.rollback-flag' value='true' />\r
2206                                     <parameter name='tmp.saved-error-message' value='`$error-message`' />\r
2207                                 </set>\r
2208                                 <call module='GENERIC-RESOURCE-API' rpc='api-contrail-route-topology-operation-delete' mode='sync' ></call>\r
2209                                 <set>\r
2210                                     <parameter name='error-message' value='`$tmp.saved-error-message`' />\r
2211                                 </set>\r
2212                                 <block>\r
2213                                     <switch test='`$tmp.configuration-sub-type`'>\r
2214                                         <outcome value='vprobe'>\r
2215                                             <call module='GENERIC-RESOURCE-API' rpc='port-mirror-rollback-capacity-db' mode='sync' ></call>\r
2216                                         </outcome>\r
2217                                     </switch>\r
2218                                     <block>\r
2219                                         <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2220                                             <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2221                                             <parameter name="input.ack-final-indicator" value="Y" />\r
2222                                             <parameter name="input.response-code" value="500" />\r
2223                                             <parameter name="input.response-message" value="`$error-message`" />\r
2224                                             <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2225                                             <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
2226                                             <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
2227                                         </configure>\r
2228                                         <return status='failure'>\r
2229                                             <parameter name='ack-final' value='Y'/>\r
2230                                             <parameter name="error-code" value="500" />\r
2231                                             <parameter name="error-message" value="`$error-message`" />\r
2232                                         </return>\r
2233                                     </block>\r
2234                                 </block>\r
2235                             </block>\r
2236                         </block>\r
2237                     </block>\r
2238                 </outcome>\r
2239             </execute>\r
2240             <configure activate="true" adaptor="com.att.sdnctl.sli.adaptor.mso.MSOAdaptor" key="__READ_FROM_PARAMETERS__">\r
2241                 <parameter name="notification-url" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-notification-url`" />\r
2242                 <parameter name="input.ack-final-indicator" value="Y" />\r
2243                 <parameter name="input.response-code" value="200" />\r
2244                 <parameter name="input.svc-request-id" value="`$port-mirror-topology-operation-input.sdnc-request-header.svc-request-id`" />\r
2245                 <parameter name="input.service-information.service-type" value="`$port-mirror-topology-operation-input.service-information.subscription-service-type`" />\r
2246                 <parameter name="input.service-information.service-instance-id" value="`$port-mirror-topology-operation-input.service-information.service-instance-id`" />\r
2247             </configure>\r
2248             <return status='success'>\r
2249                 <parameter name='error-code' value='200' />\r
2250             </return>\r
2251         </block>\r
2252     </method>\r
2253 </service-logic>