5109fdd575f0c8e643334bbee06d46095dbaf45b
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_brg-topology-operation-activate.xml
1 <service-logic xmlns='http://www.onap.org/sdnc/svclogic' 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
2     <method rpc='brg-topology-operation-activate' mode='sync'>\r
3         <block atomic="true">\r
4             <set>\r
5                 <parameter name='tmp.ar.allotted-resource-id' value='`$brg-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\r
6                 <parameter name='tmp.ar.parent-service-instance-id' value='`$brg-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\r
7                 <parameter name='tmp.ar.brg-vnf-id' value='`$brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.brg-vnf-id`' />\r
8             </set>\r
9             <set>\r
10                 <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/' + $tmp.ar.allotted-resource-id + '/allotted-resource-data/brg-topology/'` " />\r
11             </set>\r
12             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
13                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
14                 <parameter name='contextPrefix' value='prop' />\r
15             </execute>\r
16             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
17                 <parameter name="source" value="`$prop.restapi.brg-allottedresource`"/>\r
18                 <parameter name="outputPath" value="tmp.ar-url"/>\r
19                 <parameter name="target" value="{allotted-resource-id}"/>\r
20                 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>\r
21             </execute>\r
22             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
23                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
24                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
25                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
26                 <parameter name='format' value='json' />\r
27                 <parameter name='httpMethod' value='GET' />\r
28                 <parameter name="responsePrefix" value="mdsal-ar" />\r
29                 <outcome value='success'>\r
30                     <block atomic="true">\r
31                         <set>\r
32                             <parameter name='bk-brg-ar' value='$mdsal-ar.' />\r
33                         </set>\r
34                         <switch test='`$mdsal-ar.brg-allotted-resource_length`'>\r
35                             <outcome value='1'>\r
36                                 <block atomic='true'>\r
37                                     <set>\r
38                                         <parameter name='brg-ar.' value='$mdsal-ar.brg-allotted-resource[0].' />\r
39                                     </set>\r
40                                     <switch test='`$brg-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>\r
41                                         <outcome value='Created'>\r
42                                             <block></block>\r
43                                         </outcome>\r
44                                         <outcome value='Other'>\r
45                                             <block></block>\r
46                                         </outcome>\r
47                                     </switch>\r
48                                     <set>\r
49                                         <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$brg-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\r
50                                         <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$brg-ar.allotted-resource-status.rpc-action`' />\r
51                                         <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$brg-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\r
52                                     </set>\r
53                                 </block>\r
54                             </outcome>\r
55                         </switch>\r
56                     </block>\r
57                 </outcome>\r
58                 <outcome value='Other'>\r
59                     <block atomic="true"></block>\r
60                 </outcome>\r
61             </execute>\r
62             <set>\r
63                 <parameter name='brg-ar.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />\r
64                 <parameter name='brg-ar.allotted-resource-status.action' value="`$brg-topology-operation-input.request-information.request-action` " />\r
65                 <parameter name='brg-ar.allotted-resource-status.rpc-name' value="brg-topology-operation" />\r
66                 <parameter name='brg-ar.allotted-resource-status.rpc-action' value="`$brg-topology-operation-input.sdnc-request-header.svc-action` " />\r
67                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$brg-topology-operation-input.request-information.` " />\r
68                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$brg-topology-operation-input.sdnc-request-header.` " />\r
69                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$brg-topology-operation-input.service-information.` " />\r
70                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$brg-topology-operation-input.allotted-resource-information.` " />\r
71                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.' value="`$brg-topology-operation-input.brg-request-input.` " />\r
72             </set>\r
73             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\r
74                 <parameter name="outputPath" value="tmp.current-time" />\r
75             </execute>\r
76             <set>\r
77                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='Active' />\r
78                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$brg-topology-operation-input.request-information.request-action`' />\r
79                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$brg-topology-operation-input.sdnc-request-header.svc-action`' />\r
80                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$brg-topology-operation-input.sdnc-request-header.svc-request-id`' />\r
81                 <parameter name='brg-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\r
82             </set>\r
83             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
84                     resource="allotted-resource"\r
85                     key="customer.global-customer-id = $brg-topology-operation-input.service-information.global-customer-id AND service-subscription.service-type = $brg-topology-operation-input.service-information.subscription-service-type AND service-instance.service-instance-id = $brg-topology-operation-input.service-information.service-instance-id AND allotted-resource.id = $tmp.ar.allotted-resource-id"\r
86                     pfx='pfx' local-only='false' force='false'>\r
87                 <parameter name="operational-status" value="in-service-path" />\r
88                 <outcome value='failure'>\r
89                     <return status='failure'>\r
90                         <parameter name='ack-final' value='Y'/>\r
91                         <parameter name="error-code" value="500" />\r
92                         <parameter name="error-message" value="AAI failed" />\r
93                     </return>\r
94                 </outcome>\r
95                 <outcome value='not-found'>\r
96                     <return status='failure'>\r
97                         <parameter name='ack-final' value='Y'/>\r
98                         <parameter name="error-code" value="500" />\r
99                         <parameter name="error-message" value="AAI failed" />\r
100                     </return>\r
101                 </outcome>\r
102             </update>\r
103             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
104                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.brg.templatefile`" />\r
105                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
106                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
107                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
108                 <parameter name='format' value='json' />\r
109                 <parameter name='httpMethod' value='PUT' />\r
110                 <parameter name="responsePrefix" value="mdsal-ar" />\r
111                 <outcome value='success'>\r
112                     <block></block>\r
113                 </outcome>\r
114                 <outcome value='failure'>\r
115                     <return status='failure'>\r
116                         <parameter name='ack-final' value='Y'/>\r
117                         <parameter name="error-code" value="500" />\r
118                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
119                     </return>\r
120                 </outcome>\r
121                 <outcome value='not-found'>\r
122                     <return status='failure'>\r
123                         <parameter name='ack-final' value='Y'/>\r
124                         <parameter name="error-code" value="500" />\r
125                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
126                     </return>\r
127                 </outcome>\r
128             </execute>\r
129             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='IPADDR' key="SELECT min(ip_addr) ip from DHCP_MAP where mac_addr = $brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.brg-wan-mac-address" pfx="tmp.brg-wan-ip" ></get-resource>\r
130             <set>\r
131                 <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip' value='`$tmp.brg-wan-ip.ip`' />\r
132             </set>\r
133             <set>\r
134                 <parameter name='tmp.ar.consuming-service-instance-id' value='`$allotted-resource-data.brg-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\r
135             </set>\r
136             <call module='GENERIC-RESOURCE-API' rpc='get-tunnelxconn-ar' mode='sync' ></call>\r
137             <set>\r
138                 <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-lan-ip' value='`$tmp.tunnelxconn-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vgmux-lan-ip`' />\r
139             </set>\r
140             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
141                 <parameter name="source" value="`$prop.honeycomb.url`"/>\r
142                 <parameter name="outputPath" value="tmp.honeycomb.url"/>\r
143                 <parameter name="target" value="{honeycomb-instance-ip}"/>\r
144                 <parameter name="replacement" value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip`"/>\r
145             </execute>\r
146             <set>\r
147                 <parameter name='tmp.tunnel-name' value="`'vxlanTun' + $brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-lan-ip` " />\r
148                 <parameter name='tmp.tunnel-dest-ip' value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-lan-ip` " />\r
149                 <parameter name='tmp.tunnel-src-ip' value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vbrg-wan-ip` " />\r
150                 <parameter name='tmp.tunnel-vni' value="`$brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.vni` " />\r
151             </set>\r
152             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
153                 <parameter name="source" value="`$prop.restapi.vpp-honeycomb`"/>\r
154                 <parameter name="outputPath" value="tmp.vpp-honeycomb-url"/>\r
155                 <parameter name="target" value="{tunnel-name}"/>\r
156                 <parameter name="replacement" value="`$tmp.tunnel-name`"/>\r
157             </execute>\r
158             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
159                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.vxlan-tunnel.templatefile`" />\r
160                 <parameter name='restapiUrl' value='`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url`' />\r
161                 <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
162                 <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
163                 <parameter name='format' value='json' />\r
164                 <parameter name='httpMethod' value='PUT' />\r
165                 <parameter name="responsePrefix" value="honeycomb-vnf" />\r
166                 <outcome value='success'>\r
167                     <block></block>\r
168                 </outcome>\r
169                 <outcome value='failure'>\r
170                     <return status='failure'>\r
171                         <parameter name='ack-final' value='Y'/>\r
172                         <parameter name="error-code" value="500" />\r
173                         <parameter name="error-message" value="Error setting up vxlan tunnel" />\r
174                     </return>\r
175                 </outcome>\r
176                 <outcome value='not-found'>\r
177                     <return status='failure'>\r
178                         <parameter name='ack-final' value='Y'/>\r
179                         <parameter name="error-code" value="500" />\r
180                         <parameter name="error-message" value="Error setting up vxlan tunnel" />\r
181                     </return>\r
182                 </outcome>\r
183             </execute>\r
184             <set>\r
185                 <parameter name='tmp.bridge-domain' value="bridge-domain-10" />\r
186                 <parameter name='tmp.split-horizon-group' value="2" />\r
187             </set>\r
188             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
189                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.bridge-domain.templatefile`" />\r
190                 <parameter name='restapiUrl' value="`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url + '/v3po:l2' `" />\r
191                 <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
192                 <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
193                 <parameter name='format' value='json' />\r
194                 <parameter name='httpMethod' value='PUT' />\r
195                 <parameter name="responsePrefix" value="honeycomb-vnf" />\r
196                 <outcome value='success'>\r
197                     <block></block>\r
198                 </outcome>\r
199                 <outcome value='failure'>\r
200                     <return status='failure'>\r
201                         <parameter name='ack-final' value='Y'/>\r
202                         <parameter name="error-code" value="500" />\r
203                         <parameter name="error-message" value="Error setting up bridge domain" />\r
204                     </return>\r
205                 </outcome>\r
206                 <outcome value='not-found'>\r
207                     <return status='failure'>\r
208                         <parameter name='ack-final' value='Y'/>\r
209                         <parameter name="error-code" value="500" />\r
210                         <parameter name="error-message" value="Error setting up bridge domain" />\r
211                     </return>\r
212                 </outcome>\r
213             </execute>\r
214             <set>\r
215                 <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vg-ip' value='`$tmp.tunnelxconn-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vg-ip`' />\r
216             </set>\r
217             <set>\r
218                 <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-bearer-ip' value='`$tmp.tunnelxconn-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vgmux-bearer-ip`' />\r
219             </set>\r
220             <set>\r
221                 <parameter name='tmp.search.consuming-service-instance-id' value='`$brg-topology-operation-input.allotted-resource-data.brg-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\r
222             </set>\r
223             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='services' pfx='tmp.servicedata' >\r
224                 <outcome value='success'>\r
225                     <for index='serviceidx' start='0' end='`$tmp.servicedata.services.service_length`' >\r
226                         <switch test='`$tmp.servicedata.services.service[$serviceidx].service-instance-id == $tmp.search.consuming-service-instance-id`'>\r
227                             <outcome value='true'>\r
228                                 <for index='vnfidx' start='0' end='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf_length`' >\r
229                                     <for index='vfmoduleidx' start='0' end='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module_length`' >\r
230                                         <for index='paramidx' start='0' end='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module[$vfmoduleidx].vf-module-data.vf-module-topology.vf-module-parameters.param_length`' >\r
231                                             <switch test='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module[$vfmoduleidx].vf-module-data.vf-module-topology.vf-module-parameters.param[$paramidx].name == vgw_private_ip_1`'>\r
232                                                 <outcome value='true'>\r
233                                                     <set>\r
234                                                         <parameter name='brg-ar.allotted-resource-data.brg-topology.brg-assignments.vg-mgmt-ip' value='`$tmp.servicedata.services.service[$serviceidx].service-data.vnfs.vnf[$vnfidx].vnf-data.vf-modules.vf-module[$vfmoduleidx].vf-module-data.vf-module-topology.vf-module-parameters.param[$paramidx].value`' />\r
235                                                     </set>\r
236                                                 </outcome>\r
237                                             </switch>\r
238                                         </for>\r
239                                     </for>\r
240                                 </for>\r
241                             </outcome>\r
242                         </switch>\r
243                     </for>\r
244                 </outcome>\r
245                 <outcome value='failure'>\r
246                     <return status='failure'>\r
247                         <parameter name='ack-final' value='Y'/>\r
248                         <parameter name="error-code" value="500" />\r
249                         <parameter name="error-message" value="Error getting GENERIC-RESOURCE-API:services" />\r
250                     </return>\r
251                 </outcome>\r
252                 <outcome value='not-found'>\r
253                     <return status='failure'>\r
254                         <parameter name='ack-final' value='Y'/>\r
255                         <parameter name="error-code" value="500" />\r
256                         <parameter name="error-message" value="Error getting GENERIC-RESOURCE-API:services" />\r
257                     </return>\r
258                 </outcome>\r
259             </get-resource>\r
260             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
261                 <parameter name="source" value="`$prop.honeycomb.url`"/>\r
262                 <parameter name="outputPath" value="tmp.honeycomb.url"/>\r
263                 <parameter name="target" value="{honeycomb-instance-ip}"/>\r
264                 <parameter name="replacement" value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vg-mgmt-ip`"/>\r
265             </execute>\r
266             <set>\r
267                 <parameter name='tmp.tunnel-name' value="`'vxlanTun' + $brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-bearer-ip` " />\r
268                 <parameter name='tmp.tunnel-dest-ip' value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vgmux-bearer-ip` " />\r
269                 <parameter name='tmp.tunnel-src-ip' value="`$brg-ar.allotted-resource-data.brg-topology.brg-assignments.vg-ip` " />\r
270                 <parameter name='tmp.tunnel-vni' value="`$brg-ar.allotted-resource-data.allotted-resource-operation-information.brg-request-input.vni` " />\r
271             </set>\r
272             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
273                 <parameter name="source" value="`$prop.restapi.vpp-honeycomb`"/>\r
274                 <parameter name="outputPath" value="tmp.vpp-honeycomb-url"/>\r
275                 <parameter name="target" value="{tunnel-name}"/>\r
276                 <parameter name="replacement" value="`$tmp.tunnel-name`"/>\r
277             </execute>\r
278             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
279                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.vxlan-tunnel.templatefile`" />\r
280                 <parameter name='restapiUrl' value='`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url`' />\r
281                 <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
282                 <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
283                 <parameter name='format' value='json' />\r
284                 <parameter name='httpMethod' value='PUT' />\r
285                 <parameter name="responsePrefix" value="honeycomb-vnf" />\r
286                 <outcome value='success'>\r
287                     <block></block>\r
288                 </outcome>\r
289                 <outcome value='failure'>\r
290                     <return status='failure'>\r
291                         <parameter name='ack-final' value='Y'/>\r
292                         <parameter name="error-code" value="500" />\r
293                         <parameter name="error-message" value="Error setting up vxlan tunnel" />\r
294                     </return>\r
295                 </outcome>\r
296                 <outcome value='not-found'>\r
297                     <return status='failure'>\r
298                         <parameter name='ack-final' value='Y'/>\r
299                         <parameter name="error-code" value="500" />\r
300                         <parameter name="error-message" value="Error setting up vxlan tunnel" />\r
301                     </return>\r
302                 </outcome>\r
303             </execute>\r
304             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
305                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.vpp.bridge-domain.templatefile`" />\r
306                 <parameter name='restapiUrl' value="`$tmp.honeycomb.url + $tmp.vpp-honeycomb-url + '/v3po:l2' `" />\r
307                 <parameter name='restapiUser' value='`$prop.honeycomb.user`' />\r
308                 <parameter name='restapiPassword' value='`$prop.honeycomb.pwd`' />\r
309                 <parameter name='format' value='json' />\r
310                 <parameter name='httpMethod' value='PUT' />\r
311                 <parameter name="responsePrefix" value="honeycomb-vnf" />\r
312                 <outcome value='success'>\r
313                     <block></block>\r
314                 </outcome>\r
315                 <outcome value='failure'>\r
316                     <return status='failure'>\r
317                         <parameter name='ack-final' value='Y'/>\r
318                         <parameter name="error-code" value="500" />\r
319                         <parameter name="error-message" value="Error setting up bridge domain" />\r
320                     </return>\r
321                 </outcome>\r
322                 <outcome value='not-found'>\r
323                     <return status='failure'>\r
324                         <parameter name='ack-final' value='Y'/>\r
325                         <parameter name="error-code" value="500" />\r
326                         <parameter name="error-message" value="Error setting up bridge domain" />\r
327                     </return>\r
328                 </outcome>\r
329             </execute>\r
330             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
331                 <parameter name="source" value="`$prop.restapi.vnf-api.service-information`"/>\r
332                 <parameter name="outputPath" value="tmp.vnf-api-url"/>\r
333                 <parameter name="target" value="{vnf-id}"/>\r
334                 <parameter name="replacement" value="`$brg-topology-operation-input.allotted-resource-data.brg-topology.brg-assignments.brg-vnf-id`"/>\r
335             </execute>\r
336             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
337                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.vnf-api-url`' />\r
338                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
339                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
340                 <parameter name='format' value='json' />\r
341                 <parameter name='httpMethod' value='GET' />\r
342                 <parameter name="responsePrefix" value="service-data" />\r
343                 <outcome value='success'>\r
344                     <block atomic="true">\r
345                         <set>\r
346                             <parameter name='bk-service-data' value='$service-data.' />\r
347                         </set>\r
348                         <switch test='`$service-data.service-data_length`'>\r
349                             <outcome value='1'>\r
350                                 <block atomic='true'>\r
351                                     <set>\r
352                                         <parameter name='tmp.service-data.' value='$service-data.service-data[0].' />\r
353                                     </set>\r
354                                     <switch test='`$tmp.service-data.order-status`'>\r
355                                         <outcome value='Created'>\r
356                                             <block></block>\r
357                                         </outcome>\r
358                                         <outcome value='Other'>\r
359                                             <block></block>\r
360                                         </outcome>\r
361                                     </switch>\r
362                                 </block>\r
363                             </outcome>\r
364                         </switch>\r
365                     </block>\r
366                 </outcome>\r
367                 <outcome value='Other'>\r
368                     <block atomic="true"></block>\r
369                 </outcome>\r
370             </execute>\r
371             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
372                 <parameter name="source" value="`$prop.restapi.services`"/>\r
373                 <parameter name="outputPath" value="tmp.services-url"/>\r
374                 <parameter name="target" value="{service-instance-id}"/>\r
375                 <parameter name="replacement" value="`$tmp.service-data.service-information.service-instance-id`"/>\r
376             </execute>\r
377             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
378                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.services.templatefile`" />\r
379                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.services-url`' />\r
380                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
381                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
382                 <parameter name='format' value='json' />\r
383                 <parameter name='httpMethod' value='PUT' />\r
384                 <parameter name="responsePrefix" value="mdsal-ar" />\r
385                 <outcome value='success'>\r
386                     <block></block>\r
387                 </outcome>\r
388                 <outcome value='failure'>\r
389                     <return status='failure'>\r
390                         <parameter name='ack-final' value='Y'/>\r
391                         <parameter name="error-code" value="500" />\r
392                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
393                     </return>\r
394                 </outcome>\r
395                 <outcome value='not-found'>\r
396                     <return status='failure'>\r
397                         <parameter name='ack-final' value='Y'/>\r
398                         <parameter name="error-code" value="500" />\r
399                         <parameter name="error-message" value="Error updating md-sal for brg-allotted-resource" />\r
400                     </return>\r
401                 </outcome>\r
402             </execute>\r
403             <set>\r
404                 <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\r
405                 <parameter name='brg-object-path' value="`$tmp.ar.self-link`"/>\r
406                 <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + $brg-topology-operation-input.service-information.service-instance-id + '/service-data/service-topology/'`"/>\r
407             </set>\r
408             <return status='success'>\r
409                 <parameter name="ack-final-indicator" value="Y" />\r
410                 <parameter name="error-code" value="200" />\r
411                 <parameter name="error-message" value="`$error-message`" />\r
412             </return>\r
413         </block>\r
414     </method>\r
415 </service-logic>