Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_api-contrail-route-topology-operation-create.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='api-contrail-route-topology-operation-create' mode='sync'>\r
5         <block atomic="true">\r
6             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
7                 <parameter name="logger" value="message-log"/>\r
8                 <parameter name="field1" value="__TIMESTAMP__"/>\r
9                 <parameter name="field2" value="GENERIC-RESOURCE-API.api-contrail-route-topology-operation-create"/>\r
10                 <parameter name='field3' value='cto-api.parent-service-instance-id' />\r
11                 <parameter name='field4' value='`$cto-api.parent-service-instance-id`' />\r
12                 <parameter name='field5' value='cto-api.default-domain' />\r
13                 <parameter name='field6' value='`$cto-api.default-domain`' />\r
14                 <parameter name='field7' value='cto-api.port-mirror-configuration-instance-id' />\r
15                 <parameter name='field8' value='`$cto-api.port-mirror-configuration-instance-id`' />\r
16                 <parameter name='field9' value='cto-api.service-type' />\r
17                 <parameter name='field10' value='`$cto-api.service-type`' />\r
18                 <parameter name='field11' value='cto-api.source-network-role' />\r
19                 <parameter name='field12' value='`$cto-api.source-network-fole`' />\r
20                 <parameter name='field13' value='cto-api.collector-network-role' />\r
21                 <parameter name='field14' value='`$cto-api.collector-network-4ole`' />\r
22                 <parameter name='field15' value='cto-api.default-project' />\r
23                 <parameter name='field16' value='`$cto-api.default-project`' />\r
24                 <parameter name='field17' value='cto-api.cloud-region-id' />\r
25                 <parameter name='field18' value='`$cto-api.cloud-region-id`' />\r
26                 <parameter name='field19' value='cto-api.cloud-owner' />\r
27                 <parameter name='field20' value='`$cto-api.cloud-owner`' />\r
28                 <parameter name='field21' value='cto-api.isTest' />\r
29                 <parameter name='field22' value='`$cto-api.isTest`' />\r
30                 <parameter name='field23' value='cto-api.owning-entity' />\r
31                 <parameter name='field24' value='`$cto-api.owning-entity`' />\r
32             </record>\r
33             <set>\r
34                 <parameter name="ctotmp." value="" />\r
35                 <parameter name="ar-request-information." value="" />\r
36                 <parameter name="ar-created" value="" />\r
37                 <parameter name="ar-aai-created" value="" />\r
38                 <parameter name="np-aai-created" value="" />\r
39                 <parameter name="contrail-created" value="" />\r
40             </set>\r
41             <set>\r
42                 <parameter name="ctotmp.s-l3-network" value="" />\r
43                 <parameter name="ctotmp.num-s-network" value="0" />\r
44                 <parameter name="ctotmp.s-network-policy" value="" />\r
45                 <parameter name="ctotmp.num-s-np" value="0" />\r
46                 <parameter name="ctotmp.c-l3-network" value="" />\r
47                 <parameter name="ctotmp.num-c-network" value="0" />\r
48                 <parameter name="ctotmp.c-network-policy" value="" />\r
49                 <parameter name="ctotmp.num-c-np" value="0" />\r
50                 <parameter name="ctotmp.s-network-policy-list_length" value="0" />\r
51                 <parameter name="ctotmp.c-network-policy-list_length" value="0" />\r
52                 <parameter name="ctotmp.network-policy-id" value="" />\r
53                 <parameter name="ctotmp.action" value="create" />\r
54             </set>\r
55             <call module='GENERIC-RESOURCE-API' rpc='validate-api-contrail-route-input' mode='sync' ></call>\r
56             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
57       resource="custom-query"\r
58       key="format = 'resource'"\r
59       force="true"\r
60       local-only="false"\r
61       pfx="ctotmp.aai.source-network">\r
62                 <parameter name="start[0]" value="`'/cloud-infrastructure/cloud-regions/cloud-region/' + $cto-api.cloud-owner + '/'  + $cto-api.cloud-region-id`" />\r
63                 <parameter name="start_length" value="1" />\r
64                 <parameter name="query" value="`'/query/network-name-fromNetwork-role?networkRole='  + $cto-api.source-network-role`" />\r
65                 <outcome value='failure'>\r
66                     <block atomic="true">\r
67                         <return status='failure'>\r
68                             <parameter name='ack-final' value='Y'/>\r
69                             <parameter name="error-code" value="500" />\r
70                             <parameter name="error-message" value="API-contrail-route-topology-operation-create: Failed to get source network from aai" />\r
71                         </return>\r
72                     </block>\r
73                 </outcome>\r
74                 <outcome value='not-found'>\r
75                     <block atomic="true">\r
76                         <return status='failure'>\r
77                             <parameter name='ack-final' value='Y'/>\r
78                             <parameter name="error-code" value="500" />\r
79                             <parameter name="error-message" value="API-contrail-route-topology-operation-create: Source network not found in AAI" />\r
80                         </return>\r
81                     </block>\r
82                 </outcome>\r
83             </save>\r
84             <for index='ctotmp.sidx' start='0' end='`$ctotmp.aai.source-network.results_length`' >\r
85                 <block atomic="true">\r
86                     <switch test='`$ctotmp.aai.source-network.results[$ctotmp.sidx].network-policy.network-policy-id`'>\r
87                         <outcome value=''>\r
88                             <block atomic="true"></block>\r
89                         </outcome>\r
90                         <outcome value='Other'>\r
91                             <switch test='`$ctotmp.aai.source-network.results[$ctotmp.sidx].network-policy.network-policy-id`'>\r
92                                 <outcome value=''>\r
93                                     <block atomic="true"></block>\r
94                                 </outcome>\r
95                                 <outcome value='Other'>\r
96                                     <block atomic="true">\r
97                                         <set>\r
98                                             <parameter name="ctotmp.s-network-policy-list[$ctotmp.num-s-np].network-policy-id" value="`$ctotmp.aai.source-network.results[$ctotmp.sidx].network-policy.network-policy-id`" />\r
99                                         </set>\r
100                                         <set>\r
101                                             <parameter name="ctotmp.num-s-np" value="`$ctotmp.num-s-np+1`" />\r
102                                         </set>\r
103                                         <set>\r
104                                             <parameter name="ctotmp.s-network-policy-list_length" value="`$ctotmp.num-s-np`" />\r
105                                         </set>\r
106                                     </block>\r
107                                 </outcome>\r
108                             </switch>\r
109                         </outcome>\r
110                     </switch>\r
111                     <switch test='`$ctotmp.aai.source-network.results[$ctotmp.sidx].l3-network.network-id`'>\r
112                         <outcome value=''>\r
113                             <block atomic="true"></block>\r
114                         </outcome>\r
115                         <outcome value='Other'>\r
116                             <switch test='`$ctotmp.aai.source-network.results[$ctotmp.sidx].l3-network.network-id`'>\r
117                                 <outcome value=''>\r
118                                     <block atomic="true"></block>\r
119                                 </outcome>\r
120                                 <outcome value='Other'>\r
121                                     <block atomic="true">\r
122                                         <set>\r
123                                             <parameter name="ctotmp.s-l3-network." value="`$ctotmp.aai.source-network.results[$ctotmp.sidx].l3-network.`" />\r
124                                             <parameter name="ctotmp.num-s-network" value="`$ctotmp.num-s-network+1`" />\r
125                                         </set>\r
126                                     </block>\r
127                                 </outcome>\r
128                             </switch>\r
129                         </outcome>\r
130                     </switch>\r
131                 </block>\r
132             </for>\r
133             <switch test='`$ctotmp.num-s-network`'>\r
134                 <outcome value='0'>\r
135                     <return status='failure'>\r
136                         <parameter name='ack-final' value='Y'/>\r
137                         <parameter name="error-code" value="500" />\r
138                         <parameter name="error-message" value="API-contrail-route-topology-operation-create: Source network not found from aai" />\r
139                     </return>\r
140                 </outcome>\r
141                 <outcome value='1'>\r
142                     <set>\r
143                         <parameter name="ctotmp.source-network.network-id" value="`$ctotmp.s-l3-network.network-id`" />\r
144                     </set>\r
145                 </outcome>\r
146                 <outcome value='Other'>\r
147                     <return status='failure'>\r
148                         <parameter name='ack-final' value='Y'/>\r
149                         <parameter name="error-code" value="500" />\r
150                         <parameter name="error-message" value="API-contrail-route-topology-operation-create: Too many networks returned for source network from aai" />\r
151                     </return>\r
152                 </outcome>\r
153             </switch>\r
154             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
155       resource="custom-query"\r
156       key="format = 'resource'"\r
157       force="true"\r
158       local-only="false"\r
159       pfx="ctotmp.aai.collector-network">\r
160                 <parameter name="start[0]" value="`'/cloud-infrastructure/cloud-regions/cloud-region/' + $cto-api.cloud-owner + '/'  + $cto-api.cloud-region-id`" />\r
161                 <parameter name="start_length" value="1" />\r
162                 <parameter name="query" value="`'/query/network-name-fromNetwork-role?networkRole='  + $cto-api.collector-network-role`" />\r
163                 <outcome value='failure'>\r
164                     <block atomic="true">\r
165                         <return status='failure'>\r
166                             <parameter name='ack-final' value='Y'/>\r
167                             <parameter name="error-code" value="500" />\r
168                             <parameter name="error-message" value="API-contrail-route-topology-operation-create: Failed to get collector network from aai" />\r
169                         </return>\r
170                     </block>\r
171                 </outcome>\r
172                 <outcome value='not-found'>\r
173                     <block atomic="true">\r
174                         <return status='failure'>\r
175                             <parameter name='ack-final' value='Y'/>\r
176                             <parameter name="error-code" value="500" />\r
177                             <parameter name="error-message" value="API-contrail-route-topology-operation-create: Collector network not found in AAI" />\r
178                         </return>\r
179                     </block>\r
180                 </outcome>\r
181             </save>\r
182             <for index='ctotmp.cidx' start='0' end='`$ctotmp.aai.collector-network.results_length`' >\r
183                 <block atomic="true">\r
184                     <switch test='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.network-id`'>\r
185                         <outcome value=''>\r
186                             <return status='failure'>\r
187                                 <parameter name='ack-final' value='Y'/>\r
188                                 <parameter name="error-code" value="500" />\r
189                                 <parameter name="error-message" value="API-contrail-route-topology-operation-create: Collector network not found from aai" />\r
190                             </return>\r
191                         </outcome>\r
192                         <outcome value='Other'>\r
193                             <switch test='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.network-id`'>\r
194                                 <outcome value=''>\r
195                                     <block atomic="true"></block>\r
196                                 </outcome>\r
197                                 <outcome value='Other'>\r
198                                     <block atomic="true">\r
199                                         <set>\r
200                                             <parameter name="ctotmp.c-l3-network." value="`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.`" />\r
201                                             <parameter name="ctotmp.num-c-network" value="`$ctotmp.num-c-network+1`" />\r
202                                         </set>\r
203                                         <for index='ridx' start='0' end='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship_length`' >\r
204                                             <switch test='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].related-to`'>\r
205                                                 <outcome value='service-instance'>\r
206                                                     <block atomic="true">\r
207                                                         <for index='rdidx' start='0' end='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data_length`' >\r
208                                                             <switch test='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>\r
209                                                                 <outcome value='service-instance.service-instance-id'>\r
210                                                                     <block atomic="true">\r
211                                                                         <set>\r
212                                                                             <parameter name="collector-service-instance-id" value="`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value`" />\r
213                                                                         </set>\r
214                                                                     </block>\r
215                                                                 </outcome>\r
216                                                             </switch>\r
217                                                         </for>\r
218                                                     </block>\r
219                                                 </outcome>\r
220                                                 <outcome value='network-policy'>\r
221                                                     <block atomic="true">\r
222                                                         <for index='rdidx' start='0' end='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data_length`' >\r
223                                                             <switch test='`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>\r
224                                                                 <outcome value='network-policy.network-policy-id'>\r
225                                                                     <block atomic="true">\r
226                                                                         <set>\r
227                                                                             <parameter name="ctotmp.c-network-policy-list[$ctotmp.num-c-np].network-policy-id" value="`$ctotmp.aai.collector-network.results[$ctotmp.cidx].l3-network.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value`" />\r
228                                                                         </set>\r
229                                                                         <set>\r
230                                                                             <parameter name="ctotmp.num-c-np" value="`$ctotmp.num-c-np+1`" />\r
231                                                                         </set>\r
232                                                                         <set>\r
233                                                                             <parameter name="ctotmp.c-network-policy-list_length" value="`$ctotmp.num-c-np`" />\r
234                                                                         </set>\r
235                                                                     </block>\r
236                                                                 </outcome>\r
237                                                             </switch>\r
238                                                         </for>\r
239                                                     </block>\r
240                                                 </outcome>\r
241                                             </switch>\r
242                                         </for>\r
243                                     </block>\r
244                                 </outcome>\r
245                             </switch>\r
246                         </outcome>\r
247                     </switch>\r
248                 </block>\r
249             </for>\r
250             <switch test='`$ctotmp.num-c-network`'>\r
251                 <outcome value='0'>\r
252                     <return status='failure'>\r
253                         <parameter name='ack-final' value='Y'/>\r
254                         <parameter name="error-code" value="500" />\r
255                         <parameter name="error-message" value="API-contrail-route-topology-operation-create: Collector network not found from aai" />\r
256                     </return>\r
257                 </outcome>\r
258                 <outcome value='1'>\r
259                     <set>\r
260                         <parameter name="ctotmp.dest-network.network-id" value="`$ctotmp.c-l3-network.network-id`" />\r
261                     </set>\r
262                 </outcome>\r
263                 <outcome value='Other'>\r
264                     <return status='failure'>\r
265                         <parameter name='ack-final' value='Y'/>\r
266                         <parameter name="error-code" value="500" />\r
267                         <parameter name="error-message" value="API-contrail-route-topology-operation-create: Too many networks returned for collector network from aai" />\r
268                     </return>\r
269                 </outcome>\r
270             </switch>\r
271             <for index='ctotmp.spidx' start='0' end='`$ctotmp.s-network-policy-list_length`' >\r
272                 <for index='ctotmp.cpidx' start='0' end='`$ctotmp.c-network-policy-list_length`' >\r
273                     <block atomic="true">\r
274                         <switch test='`$ctotmp.s-network-policy-list[$ctotmp.spidx].network-policy-id == $ctotmp.c-network-policy-list[$ctotmp.cpidx].network-policy-id`'>\r
275                             <outcome value='true'>\r
276                                 <block atomic="true">\r
277                                     <set>\r
278                                         <parameter name="ctotmp.network-policy-id" value="`$ctotmp.s-network-policy-list[$ctotmp.spidx].network-policy-id`" />\r
279                                         <parameter name="ctotmp.existing-network-policy-found" value="true" />\r
280                                     </set>\r
281                                     <break/>\r
282                                 </block>\r
283                             </outcome>\r
284                         </switch>\r
285                     </block>\r
286                 </for>\r
287             </for>\r
288             <switch test='`$ctotmp.network-policy-id`'>\r
289                 <outcome value=''>\r
290                     <block atomic="true"></block>\r
291                 </outcome>\r
292                 <outcome value='Other'>\r
293                     <block atomic="true">\r
294                         <return status='failure'>\r
295                             <parameter name='ack-final' value='Y'/>\r
296                             <parameter name="error-code" value="500" />\r
297                             <parameter name="error-message" value="existing policy - error" />\r
298                         </return>\r
299                     </block>\r
300                 </outcome>\r
301             </switch>\r
302             <set>\r
303                 <parameter name='ar-request-information.source' value="SDNC" />\r
304             </set>\r
305             <set>\r
306                 <parameter name='ar-contrail-route-request-input.source-network.network-role' value="`$cto-api.source-network-role`" />\r
307                 <parameter name='ar-contrail-route-request-input.source-network.network-id' value="`$ctotmp.source-network.network-id`" />\r
308                 <parameter name='ar-contrail-route-request-input.dest-network.network-role' value="`$cto-api.collector-network-role`" />\r
309                 <parameter name='ar-contrail-route-request-input.dest-network.network-id' value="`$ctotmp.dest-network.network-id`" />\r
310             </set>\r
311             <call module='GENERIC-RESOURCE-API' rpc='generate-allottedresource-id' mode='sync' ></call>\r
312             <set>\r
313                 <parameter name='ar-identifiers.allotted-resource-id' value="`$tmp.return.generate-allottedresource-id.id`" />\r
314                 <parameter name='ar-identifiers.allotted-resource-type' value="contrail-route" />\r
315                 <parameter name='ar-identifiers.parent-service-instance-id' value="`$cto-api.parent-service-instance-id`" />\r
316                 <parameter name='ar-identifiers.consuming-service-instance-id' value="`$cto-api.service-instance-id` " />\r
317                 <parameter name="tmp.ar.allotted-resource-id" value="`$tmp.return.generate-allottedresource-id.id`" />\r
318                 <parameter name='tmp.ar.allotted-resource-type' value="contrail-route" />\r
319                 <parameter name='tmp.ar.parent-service-instance-id' value="`$cto-api.parent-service-instance-id`" />\r
320                 <!-- <parameter name='tmp.ar.contrail-applied-service-instance-id' value='' />  -->\r
321             </set>\r
322             <set>\r
323                 <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/'\r
324  + $tmp.ar.allotted-resource-id\r
325  + '/allotted-resource-data/contrail-route-topology/'` " />\r
326             </set>\r
327             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
328                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
329                 <parameter name='contextPrefix' value='prop' />\r
330             </execute>\r
331             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
332                 <parameter name="source" value="`$prop.restapi.cr-allottedresource`"/>\r
333                 <parameter name="outputPath" value="tmp.ar-url"/>\r
334                 <parameter name="target" value="{allotted-resource-id}"/>\r
335                 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>\r
336             </execute>\r
337             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
338                 <parameter name="source" value="`$prop.restapi.parent-provided-resource`"/>\r
339                 <parameter name="outputPath" value="tmp.parent-ar-url"/>\r
340                 <parameter name="target" value="{service-instance-id}"/>\r
341                 <parameter name="replacement" value="`$cto-api.parent-service-instance-id`"/>\r
342             </execute>\r
343             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
344                 <parameter name="source" value="`$prop.restapi.network`"/>\r
345                 <parameter name="outputPath" value="tmp.ar-parentnetwork-url"/>\r
346                 <parameter name="target" value="{service-instance-id}"/>\r
347                 <parameter name="replacement" value="`$cto-api.parent-service-instance-id`"/>\r
348             </execute>\r
349             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
350                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
351                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
352                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
353                 <parameter name='format' value='json' />\r
354                 <parameter name='httpMethod' value='GET' />\r
355                 <parameter name="responsePrefix" value="mdsal-ar" />\r
356                 <outcome value='success'>\r
357                     <block atomic="true">\r
358                         <switch test='`$mdsal-ar.contrail-route-allotted-resource_length`'>\r
359                             <outcome value='1'>\r
360                                 <return status='failure'>\r
361                                     <parameter name='ack-final' value='Y'/>\r
362                                     <parameter name="error-code" value="500" />\r
363                                     <parameter name="error-message" value="Error: Existing contrail route allotted resource" />\r
364                                 </return>\r
365                             </outcome>\r
366                         </switch>\r
367                     </block>\r
368                 </outcome>\r
369                 <outcome value='Other'>\r
370                     <block atomic="true"></block>\r
371                 </outcome>\r
372             </execute>\r
373             <set>\r
374                 <parameter name='ar.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />\r
375                 <!--\r
376 <parameter name='ar.allotted-resource-status.action' value="`$contrail-route-topology-operation-input.request-information.request-action` " /><parameter name='ar.allotted-resource-status.rpc-name' value="contrail-route-topology-operation" /><parameter name='ar.allotted-resource-status.rpc-action' value="`$contrail-route-topology-operation-input.sdnc-request-header.svc-action` " /><parameter name='ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$contrail-route-topology-operation-input.request-information.` " /><parameter name='ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$contrail-route-topology-operation-input.sdnc-request-header.` " /><parameter name='ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$contrail-route-topology-operation-input.service-information.` " /><parameter name='ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$contrail-route-topology-operation-input.allotted-resource-information.` " /><parameter name='ar.allotted-resource-data.allotted-resource-operation-information.contrail-route-request-input.' value="`$contrail-route-topology-operation-input.contrail-route-request-input.` " />\r
377 -->\r
378             </set>\r
379             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
380                 <parameter name="source" value="`$tmp.parent-ar-url`"/>\r
381                 <parameter name="outputPath" value="tmp.parent-ar-url"/>\r
382                 <parameter name="target" value="{allotted-resource-id}"/>\r
383                 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>\r
384             </execute>\r
385             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
386                 <parameter name="source" value="`$prop.restapi.network-provided-resource`"/>\r
387                 <parameter name="outputPath" value="tmp.network-ar-url"/>\r
388                 <parameter name="target" value="{service-instance-id}"/>\r
389                 <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>\r
390             </execute>\r
391             <block atomic='true'>\r
392                 <set>\r
393                     <parameter name='tmp.ar-name' value='$source-network-name_$cloud-region-id_$source-network-role_$collector-network-role _policy_' />\r
394                 </set>\r
395                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
396                     <parameter name="source" value="`$tmp.ar-name`"/>\r
397                     <parameter name="outputPath" value="tmp.ar-name"/>\r
398                     <parameter name="target" value="$source-network-name"/>\r
399                     <parameter name="replacement" value="`$ctotmp.s-l3-network.network-name`"/>\r
400                 </execute>\r
401                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
402                     <parameter name="source" value="`$tmp.ar-name`"/>\r
403                     <parameter name="outputPath" value="tmp.ar-name"/>\r
404                     <parameter name="target" value="$cloud-region-id"/>\r
405                     <parameter name="replacement" value="`$cto-api.cloud-region-id`"/>\r
406                 </execute>\r
407                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
408                     <parameter name="source" value="`$tmp.ar-name`"/>\r
409                     <parameter name="outputPath" value="tmp.ar-name"/>\r
410                     <parameter name="target" value="$source-network-role"/>\r
411                     <parameter name="replacement" value="`$cto-api.source-network-role`"/>\r
412                 </execute>\r
413                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
414                     <parameter name="source" value="`$tmp.ar-name`"/>\r
415                     <parameter name="outputPath" value="tmp.ar-name"/>\r
416                     <parameter name="target" value="$collector-network-role"/>\r
417                     <parameter name="replacement" value="`$cto-api.collector-network-role`"/>\r
418                 </execute>\r
419                 <set>\r
420                     <parameter name='generate-unique-name-input.index-table-name' value='CONTRAIL_ROUTE_NAME_INDEX' />\r
421                     <parameter name='generate-unique-name-input.index-table-prefix-column' value='contrail_route_name_prefix' />\r
422                     <parameter name='generate-unique-name-input.name-table-type' value='CONTRAIL_ROUTE_INSTANCE' />\r
423                     <parameter name='generate-unique-name-input.prefix' value="`$tmp.ar-name`" />\r
424                     <parameter name='generate-unique-name-input.index-length' value='2' />\r
425                 </set>\r
426                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
427                     <parameter name="logger" value="message-log"/>\r
428                     <parameter name="field1" value="__TIMESTAMP__"/>\r
429                     <parameter name="field2" value="tmp.ar-name="/>\r
430                     <parameter name="field3" value="`$tmp.ar-name`"/>\r
431                     <parameter name="field4" value="generate-unique-name-input.prefix" />\r
432                     <parameter name="field5" value="`$generate-unique-name-input.prefix`" />\r
433                 </record>\r
434                 <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\r
435                     <outcome value='failure'>\r
436                         <return status='failure'>\r
437                             <parameter name='ack-final' value='Y'/>\r
438                             <parameter name="error-code" value="500" />\r
439                             <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />\r
440                         </return>\r
441                     </outcome>\r
442                     <outcome value='success'>\r
443                         <set>\r
444                             <parameter name='tmp.ar-name' value='`$generate-unique-name-output.generated-name`' />\r
445                         </set>\r
446                     </outcome>\r
447                 </call>\r
448                 <set>\r
449                     <parameter name='ar-identifiers.allotted-resource-name' value='`$tmp.ar-name`' />\r
450                 </set>\r
451             </block>\r
452             <set>\r
453                 <parameter name='ar.allotted-resource-data.contrail-route-topology.allotted-resource-identifiers.' \r
454 value="`$ar-identifiers.`" />\r
455             </set>\r
456             <set>\r
457                 <parameter name='ar-assignments.source-network.network-id' value="`$ctotmp.s-l3-network.network-id` " />\r
458                 <parameter name='ar-assignments.source-network.network-role' value="`$cto-api.source-network-role` " />\r
459                 <parameter name='ar-assignments.dest-network.network-id' value="`$ctotmp.c-l3-network.network-id` " />\r
460                 <parameter name='ar-assignments.dest-network.network-role' value="`$cto-api.collector-network-role` " />\r
461             </set>\r
462             <set>\r
463                 <parameter name='tmp.fq-name' value='$defaultDomain.$defaultProject.$sdncNetworkPolicy' />\r
464             </set>\r
465             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
466                 <parameter name="source" value="`$tmp.fq-name`"/>\r
467                 <parameter name="outputPath" value="tmp.fq-name"/>\r
468                 <parameter name="target" value="$defaultDomain"/>\r
469                 <parameter name="replacement" value="`$cto-api.default-domain`"/>\r
470             </execute>\r
471             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
472                 <parameter name="source" value="`$tmp.fq-name`"/>\r
473                 <parameter name="outputPath" value="tmp.fq-name"/>\r
474                 <parameter name="target" value="$defaultProject"/>\r
475                 <parameter name="replacement" value="`$cto-api.default-project`"/>\r
476             </execute>\r
477             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
478                 <parameter name="source" value="`$tmp.fq-name`"/>\r
479                 <parameter name="outputPath" value="tmp.fq-name"/>\r
480                 <parameter name="target" value="$sdncNetworkPolicy"/>\r
481                 <parameter name="replacement" value="`$tmp.ar-name`"/>\r
482             </execute>\r
483             <set>\r
484                 <parameter name='ar-assignments.fq-name' value="`$tmp.fq-name` " />\r
485             </set>\r
486             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\r
487                 <parameter name="outputPath" value="tmp.current-time" />\r
488             </execute>\r
489             <set>\r
490                 <parameter name='ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Created' />\r
491                 <parameter name='ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\r
492             </set>\r
493             <switch test='`$cto-api.isTest`'>\r
494                 <outcome value=''>\r
495                     <block atomic="true">\r
496                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
497                             <parameter name="logger" value="message-log"/>\r
498                             <parameter name="field1" value="__TIMESTAMP__"/>\r
499                             <parameter name="field2" value="GENERIC-RESOURCE-API.api-contrail-route-topology-operation-create"/>\r
500                             <parameter name='field3' value='network-policy' />\r
501                             <parameter name='field4' value='create' />\r
502                             <parameter name='field5' value='contrailResp' />\r
503                             <parameter name='field6' value='`$cto-api.default-domain`' />\r
504                             <parameter name='field7' value='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.fq-name`' />\r
505                             <parameter name='field8' value='`$cto-api.default-project`' />\r
506                             <parameter name='field9' value='`$ctotmp.c-l3-network.contrail-network-fqdn`' />\r
507                             <parameter name='field10' value='`$ctotmp.s-l3-network.contrail-network-fqdn`' />\r
508                             <parameter name='field11' value='&lt;&gt;' />\r
509                             <parameter name='field12' value='`$cto-api.cloud-region-id`' />\r
510                         </record>\r
511                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >\r
512                             <parameter name='api-name' value='network-policy' />\r
513                             <parameter name='api-action' value='create' />\r
514                             <parameter name='resp-prefix' value='contrailResp' />\r
515                             <parameter name='default-domain' value='`$cto-api.default-domain`' />\r
516                             <parameter name='policy-name' value='`$tmp.fq-name`' />\r
517                             <parameter name='default-project' value='`$cto-api.default-project`' />\r
518                             <!-- <parameter name='vipr-service-instance' value='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.contrail-applied-service.contrail-fqdn`' /> -->\r
519                             <parameter name='dst-virtual-network' value='`$ctotmp.c-l3-network.contrail-network-fqdn`' />\r
520                             <parameter name='src-virtual-network' value='`$ctotmp.s-l3-network.contrail-network-fqdn`' />\r
521                             <parameter name='direction' value='&lt;&gt;' />\r
522                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />\r
523                             <outcome value='success'>\r
524                                 <block>\r
525                                     <set>\r
526                                         <parameter name="contrail-created" value="true" />\r
527                                     </set>\r
528                                 </block>\r
529                             </outcome>\r
530                             <outcome value='failure'>\r
531                                 <return status='failure'>\r
532                                     <parameter name='ack-final' value='Y'/>\r
533                                     <parameter name="error-code" value="500" />\r
534                                     <parameter name="error-message" value="`'Failed to create policy in Contrail. '+ $contrailResp.resp-code + ':' +$contrailResp.resp-message `" />\r
535                                 </return>\r
536                             </outcome>\r
537                         </execute>\r
538                         <set>\r
539                             <parameter name='ar-assignments.contrail-id' value="`$contrailResp.network-policy.uuid`" />\r
540                         </set>\r
541                     </block>\r
542                 </outcome>\r
543                 <outcome value='true'>\r
544                     <block atomic="true">\r
545                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
546                             <parameter name="logger" value="message-log"/>\r
547                             <parameter name="field1" value="__TIMESTAMP__"/>\r
548                             <parameter name="field2" value="GENERIC-RESOURCE-API.api-contrail-route-topology-operation-create"/>\r
549                             <parameter name='field3' value='network-policy' />\r
550                             <parameter name='field4' value='TESTcreate' />\r
551                             <parameter name='field5' value='contrailResp' />\r
552                             <parameter name='field6' value='`$cto-api.default-domain`' />\r
553                             <parameter name='field7' value='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.fq-name`' />\r
554                             <parameter name='field8' value='`$cto-api.default-project`' />\r
555                             <parameter name='field10' value='`$ctotmp.c-l3-network.contrail-network-fqdn`' />\r
556                             <parameter name='field11' value='`$ctotmp.s-l3-network.contrail-network-fqdn`' />\r
557                             <parameter name='field12' value='&lt;&gt;' />\r
558                             <parameter name='field13' value='`$cto-api.cloud-region-id`' />\r
559                         </record>\r
560                         <set>\r
561                             <parameter name='ar-assignments.contrail-id' value="dummy12345" />\r
562                         </set>\r
563                     </block>\r
564                 </outcome>\r
565                 <outcome value='Other'>\r
566                     <block atomic="true">\r
567                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
568                             <parameter name="logger" value="message-log"/>\r
569                             <parameter name="field1" value="__TIMESTAMP__"/>\r
570                             <parameter name="field2" value="GENERIC-RESOURCE-API.api-contrail-route-topology-operation-create"/>\r
571                             <parameter name='field3' value='network-policy' />\r
572                             <parameter name='field4' value='create' />\r
573                             <parameter name='field5' value='contrailResp' />\r
574                             <parameter name='field6' value='`$cto-api.default-domain`' />\r
575                             <parameter name='field7' value='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.fq-name`' />\r
576                             <parameter name='field8' value='`$cto-api.default-project`' />\r
577                             <parameter name='field9' value='`$ctotmp.c-l3-network.contrail-network-fqdn`' />\r
578                             <parameter name='field10' value='`$ctotmp.s-l3-network.contrail-network-fqdn`' />\r
579                             <parameter name='field11' value='&lt;&gt;' />\r
580                             <parameter name='field12' value='`$cto-api.cloud-region-id`' />\r
581                         </record>\r
582                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >\r
583                             <parameter name='api-name' value='network-policy' />\r
584                             <parameter name='api-action' value='create' />\r
585                             <parameter name='resp-prefix' value='contrailResp' />\r
586                             <parameter name='default-domain' value='`$cto-api.default-domain`' />\r
587                             <parameter name='policy-name' value='`$tmp.fq-name`' />\r
588                             <parameter name='default-project' value='`$cto-api.default-project`' />\r
589                             <!-- <parameter name='vipr-service-instance' value='`$ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.contrail-applied-service.contrail-fqdn`' /> -->\r
590                             <parameter name='dst-virtual-network' value='`$ctotmp.c-l3-network.contrail-network-fqdn`' />\r
591                             <parameter name='src-virtual-network' value='`$ctotmp.s-l3-network.contrail-network-fqdn`' />\r
592                             <parameter name='direction' value='&lt;&gt;' />\r
593                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />\r
594                             <outcome value='success'>\r
595                                 <block>\r
596                                     <set>\r
597                                         <parameter name="contrail-created" value="true" />\r
598                                     </set>\r
599                                 </block>\r
600                             </outcome>\r
601                             <outcome value='failure'>\r
602                                 <return status='failure'>\r
603                                     <parameter name='ack-final' value='Y'/>\r
604                                     <parameter name="error-code" value="500" />\r
605                                     <parameter name="error-message" value="`'Failed to create policy in Contrail. '+ $contrailResp.resp-code + ':' +$contrailResp.resp-message `" />\r
606                                 </return>\r
607                             </outcome>\r
608                         </execute>\r
609                         <set>\r
610                             <parameter name='ar-assignments.contrail-id' value="`$contrailResp.network-policy.uuid`" />\r
611                         </set>\r
612                     </block>\r
613                 </outcome>\r
614             </switch>\r
615             <set>\r
616                 <parameter name='ar.allotted-resource-data.contrail-route-topology.contrail-route-assignments.' \r
617 value="`$ar-assignments.`" />\r
618             </set>\r
619             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
620         resource="network-policy" \r
621                 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >\r
622                 <!-- Create network-policy object -->\r
623                 <parameter name="network-policy-id" value="`$ar-assignments.contrail-id`" />\r
624                 <parameter name="network-policy-fqdn" value="`$ar-assignments.fq-name`" />\r
625                 <outcome value='success'>\r
626                     <block>\r
627                         <set>\r
628                             <parameter name="np-aai-created" value="" />\r
629                         </set>\r
630                     </block>\r
631                 </outcome>\r
632                 <outcome value='failure'>\r
633                     <block atomic="true">\r
634                         <set>\r
635                             <parameter name="error-code" value="500"/>\r
636                             <parameter name="tmp.error-message" value="Failed to save network-policy in AAI"/>\r
637                         </set>\r
638                         <block>\r
639                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
640                                 <parameter name="logger" value="message-log"/>\r
641                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
642                                 <parameter name="field2" value="ROLLING BACK the create due to error"/>\r
643                             </record>\r
644                             <switch test='`$np-aai-created`'>\r
645                                 <outcome value=''></outcome>\r
646                                 <outcome value='true'>\r
647                                     <block atomic="true">\r
648                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
649         resource="network-policy" \r
650                 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >\r
651                                             <outcome value='failure'></outcome>\r
652                                             <outcome value='not-found'></outcome>\r
653                                         </delete>\r
654                                     </block>\r
655                                 </outcome>\r
656                             </switch>\r
657                             <switch test='`$contrail-created`'>\r
658                                 <outcome value=''></outcome>\r
659                                 <outcome value='true'>\r
660                                     <block atomic="true">\r
661                                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >\r
662                                             <parameter name='api-name' value='network-policy' />\r
663                                             <parameter name='api-action' value='delete' />\r
664                                             <parameter name='resp-prefix' value='contrailResp' />\r
665                                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />\r
666                                             <parameter name='default-project' value='`$cto-api.default-project`' />\r
667                                             <parameter name='default-domain' value='`$cto-api.default-domain`' />\r
668                                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />\r
669                                             <outcome value='success'></outcome>\r
670                                             <outcome value='not-found'></outcome>\r
671                                             <outcome value='failure'></outcome>\r
672                                         </execute>\r
673                                     </block>\r
674                                 </outcome>\r
675                             </switch>\r
676                             <switch test='`$ar-aai-created`'>\r
677                                 <outcome value=''></outcome>\r
678                                 <outcome value='true'>\r
679                                     <block atomic="true">\r
680                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
681                 resource="allotted-resource" \r
682                 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND\r
683                         service-subscription.service-type = $service-data.service-information.subscription-service-type AND\r
684                         service-instance.service-instance-id = $service-data.service-information.service-instance-id AND\r
685                         allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">\r
686                                             <outcome value='failure'></outcome>\r
687                                             <outcome value='not-found'></outcome>\r
688                                         </delete>\r
689                                     </block>\r
690                                 </outcome>\r
691                             </switch>\r
692                             <switch test='`$ar-created`'>\r
693                                 <outcome value=''></outcome>\r
694                                 <outcome value='true'>\r
695                                     <block atomic="true">\r
696                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
697                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />\r
698                                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
699                                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
700                                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
701                                             <parameter name='format' value='json' />\r
702                                             <parameter name='httpMethod' value='DELETE' />\r
703                                             <parameter name="responsePrefix" value="mdsal-ar" />\r
704                                             <outcome value='failure'></outcome>\r
705                                             <outcome value='not-found'></outcome>\r
706                                         </execute>\r
707                                     </block>\r
708                                 </outcome>\r
709                             </switch>\r
710                             <return status='failure'>\r
711                                 <parameter name='error-code' value='500'/>\r
712                                 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.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-code" value="500"/>\r
721                             <parameter name="tmp.error-message" value="Failed to save network-policy in AAI"/>\r
722                         </set>\r
723                         <block>\r
724                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
725                                 <parameter name="logger" value="message-log"/>\r
726                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
727                                 <parameter name="field2" value="ROLLING BACK the create due to error"/>\r
728                             </record>\r
729                             <switch test='`$np-aai-created`'>\r
730                                 <outcome value=''></outcome>\r
731                                 <outcome value='true'>\r
732                                     <block atomic="true">\r
733                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
734         resource="network-policy" \r
735                 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >\r
736                                             <outcome value='failure'></outcome>\r
737                                             <outcome value='not-found'></outcome>\r
738                                         </delete>\r
739                                     </block>\r
740                                 </outcome>\r
741                             </switch>\r
742                             <switch test='`$contrail-created`'>\r
743                                 <outcome value=''></outcome>\r
744                                 <outcome value='true'>\r
745                                     <block atomic="true">\r
746                                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >\r
747                                             <parameter name='api-name' value='network-policy' />\r
748                                             <parameter name='api-action' value='delete' />\r
749                                             <parameter name='resp-prefix' value='contrailResp' />\r
750                                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />\r
751                                             <parameter name='default-project' value='`$cto-api.default-project`' />\r
752                                             <parameter name='default-domain' value='`$cto-api.default-domain`' />\r
753                                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />\r
754                                             <outcome value='success'></outcome>\r
755                                             <outcome value='not-found'></outcome>\r
756                                             <outcome value='failure'></outcome>\r
757                                         </execute>\r
758                                     </block>\r
759                                 </outcome>\r
760                             </switch>\r
761                             <switch test='`$ar-aai-created`'>\r
762                                 <outcome value=''></outcome>\r
763                                 <outcome value='true'>\r
764                                     <block atomic="true">\r
765                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
766                 resource="allotted-resource" \r
767                 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND\r
768                         service-subscription.service-type = $service-data.service-information.subscription-service-type AND\r
769                         service-instance.service-instance-id = $service-data.service-information.service-instance-id AND\r
770                         allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">\r
771                                             <outcome value='failure'></outcome>\r
772                                             <outcome value='not-found'></outcome>\r
773                                         </delete>\r
774                                     </block>\r
775                                 </outcome>\r
776                             </switch>\r
777                             <switch test='`$ar-created`'>\r
778                                 <outcome value=''></outcome>\r
779                                 <outcome value='true'>\r
780                                     <block atomic="true">\r
781                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
782                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />\r
783                                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
784                                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
785                                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
786                                             <parameter name='format' value='json' />\r
787                                             <parameter name='httpMethod' value='DELETE' />\r
788                                             <parameter name="responsePrefix" value="mdsal-ar" />\r
789                                             <outcome value='failure'></outcome>\r
790                                             <outcome value='not-found'></outcome>\r
791                                         </execute>\r
792                                     </block>\r
793                                 </outcome>\r
794                             </switch>\r
795                             <return status='failure'>\r
796                                 <parameter name='error-code' value='500'/>\r
797                                 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>\r
798                             </return>\r
799                         </block>\r
800                     </block>\r
801                 </outcome>\r
802             </save>\r
803             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
804                 resource="allotted-resource" \r
805                 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND\r
806                         service-subscription.service-type = $cto-api.service-type AND\r
807                         service-instance.service-instance-id = $cto-api.parent-service-instance-id AND\r
808                         allotted-resource.id = $tmp.ar.allotted-resource-id"\r
809         pfx='pfx' local-only='false' force='false'>\r
810                 <parameter name="id" value="`$tmp.ar.allotted-resource-id`" />\r
811                 <parameter name="description" value="`$tmp.ar.allotted-resource-type`" />\r
812                 <parameter name="selflink" value="`$tmp.ar.self-link`" />\r
813                 <parameter name="operational-status" value="out-of-service-path" />\r
814                 <parameter name="order-status" value="Created" />\r
815                 <outcome value='success'>\r
816                     <block>\r
817                         <set>\r
818                             <parameter name="ar-aai-created" value="" />\r
819                         </set>\r
820                     </block>\r
821                 </outcome>\r
822                 <outcome value='failure'>\r
823                     <block atomic="true">\r
824                         <set>\r
825                             <parameter name="error-code" value="500"/>\r
826                             <parameter name="tmp.error-message" value="Failed to save allotted resource in AAI"/>\r
827                         </set>\r
828                         <block>\r
829                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
830                                 <parameter name="logger" value="message-log"/>\r
831                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
832                                 <parameter name="field2" value="ROLLING BACK the create due to error"/>\r
833                             </record>\r
834                             <switch test='`$np-aai-created`'>\r
835                                 <outcome value=''></outcome>\r
836                                 <outcome value='true'>\r
837                                     <block atomic="true">\r
838                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
839         resource="network-policy" \r
840                 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >\r
841                                             <outcome value='failure'></outcome>\r
842                                             <outcome value='not-found'></outcome>\r
843                                         </delete>\r
844                                     </block>\r
845                                 </outcome>\r
846                             </switch>\r
847                             <switch test='`$contrail-created`'>\r
848                                 <outcome value=''></outcome>\r
849                                 <outcome value='true'>\r
850                                     <block atomic="true">\r
851                                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >\r
852                                             <parameter name='api-name' value='network-policy' />\r
853                                             <parameter name='api-action' value='delete' />\r
854                                             <parameter name='resp-prefix' value='contrailResp' />\r
855                                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />\r
856                                             <parameter name='default-project' value='`$cto-api.default-project`' />\r
857                                             <parameter name='default-domain' value='`$cto-api.default-domain`' />\r
858                                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />\r
859                                             <outcome value='success'></outcome>\r
860                                             <outcome value='not-found'></outcome>\r
861                                             <outcome value='failure'></outcome>\r
862                                         </execute>\r
863                                     </block>\r
864                                 </outcome>\r
865                             </switch>\r
866                             <switch test='`$ar-aai-created`'>\r
867                                 <outcome value=''></outcome>\r
868                                 <outcome value='true'>\r
869                                     <block atomic="true">\r
870                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
871                 resource="allotted-resource" \r
872                 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND\r
873                         service-subscription.service-type = $service-data.service-information.subscription-service-type AND\r
874                         service-instance.service-instance-id = $service-data.service-information.service-instance-id AND\r
875                         allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">\r
876                                             <outcome value='failure'></outcome>\r
877                                             <outcome value='not-found'></outcome>\r
878                                         </delete>\r
879                                     </block>\r
880                                 </outcome>\r
881                             </switch>\r
882                             <switch test='`$ar-created`'>\r
883                                 <outcome value=''></outcome>\r
884                                 <outcome value='true'>\r
885                                     <block atomic="true">\r
886                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
887                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />\r
888                                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
889                                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
890                                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
891                                             <parameter name='format' value='json' />\r
892                                             <parameter name='httpMethod' value='DELETE' />\r
893                                             <parameter name="responsePrefix" value="mdsal-ar" />\r
894                                             <outcome value='failure'></outcome>\r
895                                             <outcome value='not-found'></outcome>\r
896                                         </execute>\r
897                                     </block>\r
898                                 </outcome>\r
899                             </switch>\r
900                             <return status='failure'>\r
901                                 <parameter name='error-code' value='500'/>\r
902                                 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>\r
903                             </return>\r
904                         </block>\r
905                     </block>\r
906                 </outcome>\r
907                 <outcome value='not-found'>\r
908                     <block atomic="true">\r
909                         <set>\r
910                             <parameter name="error-code" value="500"/>\r
911                             <parameter name="tmp.error-message" value="Failed to save allotted resource in AAI"/>\r
912                         </set>\r
913                         <block>\r
914                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
915                                 <parameter name="logger" value="message-log"/>\r
916                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
917                                 <parameter name="field2" value="ROLLING BACK the create due to error"/>\r
918                             </record>\r
919                             <switch test='`$np-aai-created`'>\r
920                                 <outcome value=''></outcome>\r
921                                 <outcome value='true'>\r
922                                     <block atomic="true">\r
923                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
924         resource="network-policy" \r
925                 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >\r
926                                             <outcome value='failure'></outcome>\r
927                                             <outcome value='not-found'></outcome>\r
928                                         </delete>\r
929                                     </block>\r
930                                 </outcome>\r
931                             </switch>\r
932                             <switch test='`$contrail-created`'>\r
933                                 <outcome value=''></outcome>\r
934                                 <outcome value='true'>\r
935                                     <block atomic="true">\r
936                                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >\r
937                                             <parameter name='api-name' value='network-policy' />\r
938                                             <parameter name='api-action' value='delete' />\r
939                                             <parameter name='resp-prefix' value='contrailResp' />\r
940                                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />\r
941                                             <parameter name='default-project' value='`$cto-api.default-project`' />\r
942                                             <parameter name='default-domain' value='`$cto-api.default-domain`' />\r
943                                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />\r
944                                             <outcome value='success'></outcome>\r
945                                             <outcome value='not-found'></outcome>\r
946                                             <outcome value='failure'></outcome>\r
947                                         </execute>\r
948                                     </block>\r
949                                 </outcome>\r
950                             </switch>\r
951                             <switch test='`$ar-aai-created`'>\r
952                                 <outcome value=''></outcome>\r
953                                 <outcome value='true'>\r
954                                     <block atomic="true">\r
955                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
956                 resource="allotted-resource" \r
957                 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND\r
958                         service-subscription.service-type = $service-data.service-information.subscription-service-type AND\r
959                         service-instance.service-instance-id = $service-data.service-information.service-instance-id AND\r
960                         allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">\r
961                                             <outcome value='failure'></outcome>\r
962                                             <outcome value='not-found'></outcome>\r
963                                         </delete>\r
964                                     </block>\r
965                                 </outcome>\r
966                             </switch>\r
967                             <switch test='`$ar-created`'>\r
968                                 <outcome value=''></outcome>\r
969                                 <outcome value='true'>\r
970                                     <block atomic="true">\r
971                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
972                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />\r
973                                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
974                                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
975                                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
976                                             <parameter name='format' value='json' />\r
977                                             <parameter name='httpMethod' value='DELETE' />\r
978                                             <parameter name="responsePrefix" value="mdsal-ar" />\r
979                                             <outcome value='failure'></outcome>\r
980                                             <outcome value='not-found'></outcome>\r
981                                         </execute>\r
982                                     </block>\r
983                                 </outcome>\r
984                             </switch>\r
985                             <return status='failure'>\r
986                                 <parameter name='error-code' value='500'/>\r
987                                 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>\r
988                             </return>\r
989                         </block>\r
990                     </block>\r
991                 </outcome>\r
992             </save>\r
993             <switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>\r
994                 <outcome value=''>\r
995                     <set>\r
996                         <parameter name='tmp.cidx' value="`0`" />\r
997                         <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value="1" />\r
998                     </set>\r
999                 </outcome>\r
1000                 <outcome value='Other'>\r
1001                     <block atomic="true">\r
1002                         <for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\r
1003                             <switch test="`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">\r
1004                                 <outcome value='true'>\r
1005                                     <block atomic="true">\r
1006                                         <set>\r
1007                                             <parameter name='tmp.cidx' value='`$cidx`' />\r
1008                                             <parameter name='ctx.consumed-ar.' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].`' />\r
1009                                             <parameter name='tmp.found-cidx' value='true' />\r
1010                                         </set>\r
1011                                         <break/>\r
1012                                     </block>\r
1013                                 </outcome>\r
1014                             </switch>\r
1015                         </for>\r
1016                         <switch test='`$tmp.found-cidx`'>\r
1017                             <outcome value='false'>\r
1018                                 <block atomic="true">\r
1019                                     <set>\r
1020                                         <parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />\r
1021                                     </set>\r
1022                                 </block>\r
1023                             </outcome>\r
1024                         </switch>\r
1025                     </block>\r
1026                 </outcome>\r
1027             </switch>\r
1028             <set>\r
1029                 <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />\r
1030                 <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value="`$tmp.ar.allotted-resource-type` " />\r
1031                 <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value="`$tmp.ar.self-link` " />\r
1032                 <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />\r
1033             </set>\r
1034             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1035                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`" />\r
1036                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />\r
1037                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
1038                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
1039                 <parameter name='format' value='json' />\r
1040                 <parameter name='httpMethod' value='PUT' />\r
1041                 <parameter name="responsePrefix" value="parent" />\r
1042                 <outcome value='success'>\r
1043                     <block></block>\r
1044                 </outcome>\r
1045                 <outcome value='failure'>\r
1046                     <block>\r
1047                         <set>\r
1048                             <parameter name="error-code" value="500"/>\r
1049                             <parameter name="tmp.error-message" value="Error updating md-sal for contrail-route-allotted-resource"/>\r
1050                         </set>\r
1051                         <block>\r
1052                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1053                                 <parameter name="logger" value="message-log"/>\r
1054                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
1055                                 <parameter name="field2" value="ROLLING BACK the create due to error"/>\r
1056                             </record>\r
1057                             <switch test='`$np-aai-created`'>\r
1058                                 <outcome value=''></outcome>\r
1059                                 <outcome value='true'>\r
1060                                     <block atomic="true">\r
1061                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1062         resource="network-policy" \r
1063                 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >\r
1064                                             <outcome value='failure'></outcome>\r
1065                                             <outcome value='not-found'></outcome>\r
1066                                         </delete>\r
1067                                     </block>\r
1068                                 </outcome>\r
1069                             </switch>\r
1070                             <switch test='`$contrail-created`'>\r
1071                                 <outcome value=''></outcome>\r
1072                                 <outcome value='true'>\r
1073                                     <block atomic="true">\r
1074                                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >\r
1075                                             <parameter name='api-name' value='network-policy' />\r
1076                                             <parameter name='api-action' value='delete' />\r
1077                                             <parameter name='resp-prefix' value='contrailResp' />\r
1078                                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />\r
1079                                             <parameter name='default-project' value='`$cto-api.default-project`' />\r
1080                                             <parameter name='default-domain' value='`$cto-api.default-domain`' />\r
1081                                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />\r
1082                                             <outcome value='success'></outcome>\r
1083                                             <outcome value='not-found'></outcome>\r
1084                                             <outcome value='failure'></outcome>\r
1085                                         </execute>\r
1086                                     </block>\r
1087                                 </outcome>\r
1088                             </switch>\r
1089                             <switch test='`$ar-aai-created`'>\r
1090                                 <outcome value=''></outcome>\r
1091                                 <outcome value='true'>\r
1092                                     <block atomic="true">\r
1093                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1094                 resource="allotted-resource" \r
1095                 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND\r
1096                         service-subscription.service-type = $service-data.service-information.subscription-service-type AND\r
1097                         service-instance.service-instance-id = $service-data.service-information.service-instance-id AND\r
1098                         allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">\r
1099                                             <outcome value='failure'></outcome>\r
1100                                             <outcome value='not-found'></outcome>\r
1101                                         </delete>\r
1102                                     </block>\r
1103                                 </outcome>\r
1104                             </switch>\r
1105                             <switch test='`$ar-created`'>\r
1106                                 <outcome value=''></outcome>\r
1107                                 <outcome value='true'>\r
1108                                     <block atomic="true">\r
1109                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1110                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />\r
1111                                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
1112                                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
1113                                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
1114                                             <parameter name='format' value='json' />\r
1115                                             <parameter name='httpMethod' value='DELETE' />\r
1116                                             <parameter name="responsePrefix" value="mdsal-ar" />\r
1117                                             <outcome value='failure'></outcome>\r
1118                                             <outcome value='not-found'></outcome>\r
1119                                         </execute>\r
1120                                     </block>\r
1121                                 </outcome>\r
1122                             </switch>\r
1123                             <return status='failure'>\r
1124                                 <parameter name='error-code' value='500'/>\r
1125                                 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>\r
1126                             </return>\r
1127                         </block>\r
1128                     </block>\r
1129                 </outcome>\r
1130                 <outcome value='not-found'>\r
1131                     <block>\r
1132                         <set>\r
1133                             <parameter name="error-code" value="500"/>\r
1134                             <parameter name="tmp.error-message" value="Error updating md-sal for contrail-route-allotted-resource"/>\r
1135                         </set>\r
1136                         <block>\r
1137                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1138                                 <parameter name="logger" value="message-log"/>\r
1139                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
1140                                 <parameter name="field2" value="ROLLING BACK the create due to error"/>\r
1141                             </record>\r
1142                             <switch test='`$np-aai-created`'>\r
1143                                 <outcome value=''></outcome>\r
1144                                 <outcome value='true'>\r
1145                                     <block atomic="true">\r
1146                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1147         resource="network-policy" \r
1148                 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >\r
1149                                             <outcome value='failure'></outcome>\r
1150                                             <outcome value='not-found'></outcome>\r
1151                                         </delete>\r
1152                                     </block>\r
1153                                 </outcome>\r
1154                             </switch>\r
1155                             <switch test='`$contrail-created`'>\r
1156                                 <outcome value=''></outcome>\r
1157                                 <outcome value='true'>\r
1158                                     <block atomic="true">\r
1159                                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >\r
1160                                             <parameter name='api-name' value='network-policy' />\r
1161                                             <parameter name='api-action' value='delete' />\r
1162                                             <parameter name='resp-prefix' value='contrailResp' />\r
1163                                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />\r
1164                                             <parameter name='default-project' value='`$cto-api.default-project`' />\r
1165                                             <parameter name='default-domain' value='`$cto-api.default-domain`' />\r
1166                                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />\r
1167                                             <outcome value='success'></outcome>\r
1168                                             <outcome value='not-found'></outcome>\r
1169                                             <outcome value='failure'></outcome>\r
1170                                         </execute>\r
1171                                     </block>\r
1172                                 </outcome>\r
1173                             </switch>\r
1174                             <switch test='`$ar-aai-created`'>\r
1175                                 <outcome value=''></outcome>\r
1176                                 <outcome value='true'>\r
1177                                     <block atomic="true">\r
1178                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1179                 resource="allotted-resource" \r
1180                 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND\r
1181                         service-subscription.service-type = $service-data.service-information.subscription-service-type AND\r
1182                         service-instance.service-instance-id = $service-data.service-information.service-instance-id AND\r
1183                         allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">\r
1184                                             <outcome value='failure'></outcome>\r
1185                                             <outcome value='not-found'></outcome>\r
1186                                         </delete>\r
1187                                     </block>\r
1188                                 </outcome>\r
1189                             </switch>\r
1190                             <switch test='`$ar-created`'>\r
1191                                 <outcome value=''></outcome>\r
1192                                 <outcome value='true'>\r
1193                                     <block atomic="true">\r
1194                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1195                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />\r
1196                                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
1197                                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
1198                                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
1199                                             <parameter name='format' value='json' />\r
1200                                             <parameter name='httpMethod' value='DELETE' />\r
1201                                             <parameter name="responsePrefix" value="mdsal-ar" />\r
1202                                             <outcome value='failure'></outcome>\r
1203                                             <outcome value='not-found'></outcome>\r
1204                                         </execute>\r
1205                                     </block>\r
1206                                 </outcome>\r
1207                             </switch>\r
1208                             <return status='failure'>\r
1209                                 <parameter name='error-code' value='500'/>\r
1210                                 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>\r
1211                             </return>\r
1212                         </block>\r
1213                     </block>\r
1214                 </outcome>\r
1215             </execute>\r
1216             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1217                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />\r
1218                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
1219                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
1220                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
1221                 <parameter name='format' value='json' />\r
1222                 <parameter name='httpMethod' value='PUT' />\r
1223                 <parameter name="responsePrefix" value="mdsal-ar" />\r
1224                 <outcome value='success'>\r
1225                     <block>\r
1226                         <set>\r
1227                             <parameter name="ar-created" value="true" />\r
1228                         </set>\r
1229                     </block>\r
1230                 </outcome>\r
1231                 <outcome value='failure'>\r
1232                     <block>\r
1233                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1234                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`" />\r
1235                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />\r
1236                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
1237                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
1238                             <parameter name='format' value='json' />\r
1239                             <parameter name='httpMethod' value='DELETE' />\r
1240                             <parameter name="responsePrefix" value="parent" />\r
1241                             <outcome value='success'>\r
1242                                 <block></block>\r
1243                             </outcome>\r
1244                             <outcome value='failure'>\r
1245                                 <block></block>\r
1246                             </outcome>\r
1247                             <outcome value='not-found'>\r
1248                                 <block></block>\r
1249                             </outcome>\r
1250                         </execute>\r
1251                         <block>\r
1252                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1253                                 <parameter name="logger" value="message-log"/>\r
1254                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
1255                                 <parameter name="field2" value="ROLLING BACK the create due to error"/>\r
1256                             </record>\r
1257                             <switch test='`$np-aai-created`'>\r
1258                                 <outcome value=''></outcome>\r
1259                                 <outcome value='true'>\r
1260                                     <block atomic="true">\r
1261                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1262         resource="network-policy" \r
1263                 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >\r
1264                                             <outcome value='failure'></outcome>\r
1265                                             <outcome value='not-found'></outcome>\r
1266                                         </delete>\r
1267                                     </block>\r
1268                                 </outcome>\r
1269                             </switch>\r
1270                             <switch test='`$contrail-created`'>\r
1271                                 <outcome value=''></outcome>\r
1272                                 <outcome value='true'>\r
1273                                     <block atomic="true">\r
1274                                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >\r
1275                                             <parameter name='api-name' value='network-policy' />\r
1276                                             <parameter name='api-action' value='delete' />\r
1277                                             <parameter name='resp-prefix' value='contrailResp' />\r
1278                                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />\r
1279                                             <parameter name='default-project' value='`$cto-api.default-project`' />\r
1280                                             <parameter name='default-domain' value='`$cto-api.default-domain`' />\r
1281                                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />\r
1282                                             <outcome value='success'></outcome>\r
1283                                             <outcome value='not-found'></outcome>\r
1284                                             <outcome value='failure'></outcome>\r
1285                                         </execute>\r
1286                                     </block>\r
1287                                 </outcome>\r
1288                             </switch>\r
1289                             <switch test='`$ar-aai-created`'>\r
1290                                 <outcome value=''></outcome>\r
1291                                 <outcome value='true'>\r
1292                                     <block atomic="true">\r
1293                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1294                 resource="allotted-resource" \r
1295                 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND\r
1296                         service-subscription.service-type = $service-data.service-information.subscription-service-type AND\r
1297                         service-instance.service-instance-id = $service-data.service-information.service-instance-id AND\r
1298                         allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">\r
1299                                             <outcome value='failure'></outcome>\r
1300                                             <outcome value='not-found'></outcome>\r
1301                                         </delete>\r
1302                                     </block>\r
1303                                 </outcome>\r
1304                             </switch>\r
1305                             <switch test='`$ar-created`'>\r
1306                                 <outcome value=''></outcome>\r
1307                                 <outcome value='true'>\r
1308                                     <block atomic="true">\r
1309                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1310                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />\r
1311                                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
1312                                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
1313                                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
1314                                             <parameter name='format' value='json' />\r
1315                                             <parameter name='httpMethod' value='DELETE' />\r
1316                                             <parameter name="responsePrefix" value="mdsal-ar" />\r
1317                                             <outcome value='failure'></outcome>\r
1318                                             <outcome value='not-found'></outcome>\r
1319                                         </execute>\r
1320                                     </block>\r
1321                                 </outcome>\r
1322                             </switch>\r
1323                             <return status='failure'>\r
1324                                 <parameter name='error-code' value='500'/>\r
1325                                 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>\r
1326                             </return>\r
1327                         </block>\r
1328                     </block>\r
1329                 </outcome>\r
1330                 <outcome value='not-found'>\r
1331                     <block>\r
1332                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1333                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`" />\r
1334                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />\r
1335                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
1336                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
1337                             <parameter name='format' value='json' />\r
1338                             <parameter name='httpMethod' value='DELETE' />\r
1339                             <parameter name="responsePrefix" value="parent" />\r
1340                             <outcome value='success'>\r
1341                                 <block></block>\r
1342                             </outcome>\r
1343                             <outcome value='failure'>\r
1344                                 <block></block>\r
1345                             </outcome>\r
1346                             <outcome value='not-found'>\r
1347                                 <block></block>\r
1348                             </outcome>\r
1349                         </execute>\r
1350                         <block>\r
1351                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
1352                                 <parameter name="logger" value="message-log"/>\r
1353                                 <parameter name="field1" value="__TIMESTAMP__"/>\r
1354                                 <parameter name="field2" value="ROLLING BACK the create due to error"/>\r
1355                             </record>\r
1356                             <switch test='`$np-aai-created`'>\r
1357                                 <outcome value=''></outcome>\r
1358                                 <outcome value='true'>\r
1359                                     <block atomic="true">\r
1360                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1361         resource="network-policy" \r
1362                 key="network-policy.network-policy-id = $ar-assignments.contrail-id" >\r
1363                                             <outcome value='failure'></outcome>\r
1364                                             <outcome value='not-found'></outcome>\r
1365                                         </delete>\r
1366                                     </block>\r
1367                                 </outcome>\r
1368                             </switch>\r
1369                             <switch test='`$contrail-created`'>\r
1370                                 <outcome value=''></outcome>\r
1371                                 <outcome value='true'>\r
1372                                     <block atomic="true">\r
1373                                         <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >\r
1374                                             <parameter name='api-name' value='network-policy' />\r
1375                                             <parameter name='api-action' value='delete' />\r
1376                                             <parameter name='resp-prefix' value='contrailResp' />\r
1377                                             <parameter name='cloud-region-id' value='`$cto-api.cloud-region-id`' />\r
1378                                             <parameter name='default-project' value='`$cto-api.default-project`' />\r
1379                                             <parameter name='default-domain' value='`$cto-api.default-domain`' />\r
1380                                             <parameter name='contrail-network-policy-id' value='`$ar-assignments.contrail-id`' />\r
1381                                             <outcome value='success'></outcome>\r
1382                                             <outcome value='not-found'></outcome>\r
1383                                             <outcome value='failure'></outcome>\r
1384                                         </execute>\r
1385                                     </block>\r
1386                                 </outcome>\r
1387                             </switch>\r
1388                             <switch test='`$ar-aai-created`'>\r
1389                                 <outcome value=''></outcome>\r
1390                                 <outcome value='true'>\r
1391                                     <block atomic="true">\r
1392                                         <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
1393                 resource="allotted-resource" \r
1394                 key="customer.global-customer-id = $service-data.service-information.global-customer-id AND\r
1395                         service-subscription.service-type = $service-data.service-information.subscription-service-type AND\r
1396                         service-instance.service-instance-id = $service-data.service-information.service-instance-id AND\r
1397                         allotted-resource.id = $cto-api.contrail-route-allotted-resource-id">\r
1398                                             <outcome value='failure'></outcome>\r
1399                                             <outcome value='not-found'></outcome>\r
1400                                         </delete>\r
1401                                     </block>\r
1402                                 </outcome>\r
1403                             </switch>\r
1404                             <switch test='`$ar-created`'>\r
1405                                 <outcome value=''></outcome>\r
1406                                 <outcome value='true'>\r
1407                                     <block atomic="true">\r
1408                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
1409                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.cr.templatefile`" />\r
1410                                             <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
1411                                             <parameter name='restapiUser' value='`$prop.controller.user`' />\r
1412                                             <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
1413                                             <parameter name='format' value='json' />\r
1414                                             <parameter name='httpMethod' value='DELETE' />\r
1415                                             <parameter name="responsePrefix" value="mdsal-ar" />\r
1416                                             <outcome value='failure'></outcome>\r
1417                                             <outcome value='not-found'></outcome>\r
1418                                         </execute>\r
1419                                     </block>\r
1420                                 </outcome>\r
1421                             </switch>\r
1422                             <return status='failure'>\r
1423                                 <parameter name='error-code' value='500'/>\r
1424                                 <parameter name='error-message' value="`'Error creating contrail route - ' + $tmp.error-message`"/>\r
1425                             </return>\r
1426                         </block>\r
1427                     </block>\r
1428                 </outcome>\r
1429             </execute>\r
1430             <set>\r
1431                 <parameter name='cto-api.contrail-route-allotted-instance-id' value='`$tmp.ar.allotted-resource-id`' />\r
1432             </set>\r
1433             <set>\r
1434                 <parameter name='ctotmp.' value='' />\r
1435             </set>\r
1436             <return status='success'>\r
1437                 <parameter name="ack-final-indicator" value="Y" />\r
1438                 <parameter name="error-code" value="200" />\r
1439                 <parameter name="error-message" value="`$error-message`" />\r
1440             </return>\r
1441         </block>\r
1442     </method>\r
1443 </service-logic>