Allow sub directories for graphs
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / sdwan / GENERIC-RESOURCE-API_sdwan-attachment-topology-operation-deactivate.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='sdwan-attachment-topology-operation-deactivate' mode='sync'>\r
5         <block atomic="true">\r
6             <set>\r
7                 <parameter name='tmp.ar.allotted-resource-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\r
8                 <parameter name='tmp.ar.parent-service-instance-id' value='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\r
9             </set>\r
10             <set>\r
11                 <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/'\r
12  + $tmp.ar.allotted-resource-id\r
13  + '/allotted-resource-data/connection-attachment-topology/'` " />\r
14             </set>\r
15             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
16                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
17                 <parameter name='contextPrefix' value='prop' />\r
18             </execute>\r
19             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
20                 <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>\r
21                 <parameter name="outputPath" value="tmp.ar-url"/>\r
22                 <parameter name="target" value="{allotted-resource-id}"/>\r
23                 <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>\r
24             </execute>\r
25             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
26                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
27                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
28                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
29                 <parameter name='format' value='json' />\r
30                 <parameter name='httpMethod' value='GET' />\r
31                 <parameter name="responsePrefix" value="mdsal-ar" />\r
32                 <outcome value='success'>\r
33                     <block atomic="true">\r
34                         <switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\r
35                             <outcome value='1'>\r
36                                 <block atomic='true'>\r
37                                     <set>\r
38                                         <parameter name='connection-attachment-ar.' value='$mdsal-ar.connection-attachment-allotted-resource[0].' />\r
39                                     </set>\r
40                                     <switch test='`$connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status`'>\r
41                                         <outcome value='Active'>\r
42                                             <block></block>\r
43                                         </outcome>\r
44                                         <outcome value='Other'>\r
45                                             <return status='failure'>\r
46                                                 <parameter name='ack-final' value='Y'/>\r
47                                                 <parameter name="error-code" value="500" />\r
48                                                 <parameter name="error-message" \r
49     value="`'Existing connection-attachment-allotted-resource with order status of ' + $connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`" />\r
50                                             </return>\r
51                                         </outcome>\r
52                                     </switch>\r
53                                     <set>\r
54                                         <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\r
55                                         <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-ar.allotted-resource-status.rpc-action`' />\r
56                                         <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\r
57                                     </set>\r
58                                 </block>\r
59                             </outcome>\r
60                             <outcome value='Other'>\r
61                                 <return status='failure'>\r
62                                     <parameter name='ack-final' value='Y'/>\r
63                                     <parameter name="error-code" value="404" />\r
64                                     <parameter name="error-message" value="Error: SOTN resource not found" />\r
65                                 </return>\r
66                             </outcome>\r
67                         </switch>\r
68                     </block>\r
69                 </outcome>\r
70                 <outcome value='Other'>\r
71                     <block atomic="true">\r
72                         <return status='failure'>\r
73                             <parameter name='ack-final' value='Y'/>\r
74                             <parameter name="error-code" value="404" />\r
75                             <parameter name="error-message" value="Error: SOTN resource not found" />\r
76                         </return>\r
77                     </block>\r
78                 </outcome>\r
79             </execute>\r
80             <block atomic="true">\r
81                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-get-saved-ar-param' mode='sync' ></call>\r
82             </block>\r
83             <set>\r
84                 <parameter name='tmp.ar.parent-service-instance-id' value="`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />\r
85             </set>\r
86             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
87                 <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>\r
88                 <parameter name="outputPath" value="tmp.ar-url-psd"/>\r
89                 <parameter name="target" value="{service-instance-id}"/>\r
90                 <parameter name="replacement" value="`$tmp.ar.parent-service-instance-id`"/>\r
91             </execute>\r
92             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
93                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-psd`' />\r
94                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
95                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
96                 <parameter name='format' value='json' />\r
97                 <parameter name='httpMethod' value='GET' />\r
98                 <parameter name="responsePrefix" value="mdsal-psd" />\r
99                 <outcome value='success'>\r
100                     <block></block>\r
101                 </outcome>\r
102                 <outcome value='Other'>\r
103                     <return status='failure'>\r
104                         <parameter name='ack-final' value='Y'/>\r
105                         <parameter name="error-code" value="404" />\r
106                         <parameter name="error-message" value="Error: SOTN resource not found" />\r
107                     </return>\r
108                 </outcome>\r
109             </execute>\r
110             <for index='ntidx' start='0' end='`$mdsal-psd.service-data.networks.network_length`' >\r
111                 <block atomic="true">\r
112                     <switch test="`$mdsal-psd.service-data.networks.network[$ntidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`">\r
113                         <outcome value='true'>\r
114                             <block atomic="true">\r
115                                 <for index="paramidx" start="0" end="`$mdsal-psd.service-data.networks.network[$ntidx].network-data.network-request-input.network-input-parameters.param_length`">\r
116                                     <block>\r
117                                         <switch test="`$mdsal-psd.service-data.networks.network[$ntidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'name'`">\r
118                                             <outcome value='true'>\r
119                                                 <set>\r
120                                                     <parameter name='prop.name' value='`$mdsal-psd.service-data.networks.network[$ntidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\r
121                                                 </set>\r
122                                             </outcome>\r
123                                         </switch>\r
124                                         <switch test="`$mdsal-psd.service-data.networks.network[$ntidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`">\r
125                                             <outcome value='true'>\r
126                                                 <set>\r
127                                                     <parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$ntidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\r
128                                                 </set>\r
129                                             </outcome>\r
130                                         </switch>\r
131                                         <switch test="`$mdsal-psd.service-data.networks.network[$ntidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpn-id'`">\r
132                                             <outcome value='true'>\r
133                                                 <set>\r
134                                                     <parameter name='prop.vpn1Id' value='`$mdsal-psd.service-data.networks.network[$ntidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\r
135                                                 </set>\r
136                                             </outcome>\r
137                                         </switch>\r
138                                     </block>\r
139                                 </for>\r
140                             </block>\r
141                         </outcome>\r
142                     </switch>\r
143                 </block>\r
144             </for>\r
145             <set>\r
146                 <parameter name='prop.siteAttachements_length' value='0' />\r
147                 <parameter name='prop.siteIds_length' value='0' />\r
148             </set>\r
149             <for index='pidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >\r
150                 <block atomic="true">\r
151                     <switch test="`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$pidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">\r
152                         <outcome value='false'>\r
153                             <block atomic="true">\r
154                                 <set>\r
155                                     <parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$pidx].allotted-resource-id`' />\r
156                                 </set>\r
157                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
158                                     <parameter name="source" value="`$prop.restapi.connection-attachment-allottedresource`"/>\r
159                                     <parameter name="outputPath" value="tmp.ar-url-connection"/>\r
160                                     <parameter name="target" value="{allotted-resource-id}"/>\r
161                                     <parameter name="replacement" value="`$prop.ar.provided-allotted-resource-id`"/>\r
162                                 </execute>\r
163                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
164                                     <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\r
165                                     <parameter name='restapiUser' value='`$prop.controller.user`' />\r
166                                     <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
167                                     <parameter name='format' value='json' />\r
168                                     <parameter name='httpMethod' value='GET' />\r
169                                     <parameter name="responsePrefix" value="mdsal-providedAr" />\r
170                                     <outcome value='Other'>\r
171                                         <block></block>\r
172                                     </outcome>\r
173                                     <outcome value='success'>\r
174                                         <block atomic="true">\r
175                                             <for index="aridx" start="0" end="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`">\r
176                                                 <block>\r
177                                                     <switch test="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'Role'`">\r
178                                                         <outcome value='true'>\r
179                                                             <set>\r
180                                                                 <parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\r
181                                                             </set>\r
182                                                         </outcome>\r
183                                                     </switch>\r
184                                                     <switch test="`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'sdwanVpnName'`">\r
185                                                         <outcome value='true'>\r
186                                                             <set>\r
187                                                                 <parameter name='prop.name' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\r
188                                                             </set>\r
189                                                         </outcome>\r
190                                                     </switch>\r
191                                                 </block>\r
192                                             </for>\r
193                                             <set>\r
194                                                 <parameter name='prop.ar-parent-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />\r
195                                             </set>\r
196                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
197                                                 <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>\r
198                                                 <parameter name="outputPath" value="tmp.ar-url-connection"/>\r
199                                                 <parameter name="target" value="{service-instance-id}"/>\r
200                                                 <parameter name="replacement" value="`$prop.ar-parent-service-instance-id`"/>\r
201                                             </execute>\r
202                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
203                                                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\r
204                                                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
205                                                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
206                                                 <parameter name='format' value='json' />\r
207                                                 <parameter name='httpMethod' value='GET' />\r
208                                                 <parameter name="responsePrefix" value="mdsal-parentsd" />\r
209                                                 <outcome value='Other'>\r
210                                                     <block></block>\r
211                                                 </outcome>\r
212                                                 <outcome value='success'>\r
213                                                     <block atomic="true">\r
214                                                         <for index='pnidx' start='0' end='`$mdsal-parentsd.service-data.networks.network_length`' >\r
215                                                             <block atomic="true">\r
216                                                                 <switch test="`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`">\r
217                                                                     <outcome value='true'>\r
218                                                                         <block atomic="true">\r
219                                                                             <for index="paramidx" start="0" end="`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param_length`">\r
220                                                                                 <block>\r
221                                                                                     <switch test="`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`">\r
222                                                                                         <outcome value='true'>\r
223                                                                                             <set>\r
224                                                                                                 <parameter name='prop.topology' value='`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\r
225                                                                                             </set>\r
226                                                                                         </outcome>\r
227                                                                                     </switch>\r
228                                                                                     <switch test="`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpn-id'`">\r
229                                                                                         <outcome value='true'>\r
230                                                                                             <set>\r
231                                                                                                 <parameter name='prop.vpn1Id' value='`$mdsal-parentsd.service-data.networks.network[$pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\r
232                                                                                             </set>\r
233                                                                                         </outcome>\r
234                                                                                     </switch>\r
235                                                                                 </block>\r
236                                                                             </for>\r
237                                                                             <set>\r
238                                                                                 <parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\r
239                                                                             </set>\r
240                                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
241                                                                                 <parameter name="source" value="/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data"/>\r
242                                                                                 <parameter name="outputPath" value="tmp.ar-url-connection"/>\r
243                                                                                 <parameter name="target" value="{service-instance-id}"/>\r
244                                                                                 <parameter name="replacement" value="`$prop.ar-service-instance-id`"/>\r
245                                                                             </execute>\r
246                                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
247                                                                                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\r
248                                                                                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
249                                                                                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
250                                                                                 <parameter name='format' value='json' />\r
251                                                                                 <parameter name='httpMethod' value='GET' />\r
252                                                                                 <parameter name="responsePrefix" value="mdsal-sd" />\r
253                                                                                 <outcome value='Other'>\r
254                                                                                     <block></block>\r
255                                                                                 </outcome>\r
256                                                                                 <outcome value='success'>\r
257                                                                                     <block atomic="true">\r
258                                                                                         <for index='arvidx' start='0' end='`$mdsal-sd.service-data.vnfs.vnf_length`' >\r
259                                                                                             <block atomic="true">\r
260                                                                                                 <switch test="`$mdsal-sd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == ActivateSiteInstance`">\r
261                                                                                                     <outcome value='true'>\r
262                                                                                                         <block atomic="true">\r
263                                                                                                             <set>\r
264                                                                                                                 <parameter name='tmp.sitevidx' value='`$arvidx`' />\r
265                                                                                                             </set>\r
266                                                                                                             <for index="siteidx" start="0" end="`$mdsal-sd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`">\r
267                                                                                                                 <block atomic="true">\r
268                                                                                                                     <switch test="`$mdsal-sd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`">\r
269                                                                                                                         <outcome value='true'>\r
270                                                                                                                             <block atomic="true">\r
271                                                                                                                                 <set>\r
272                                                                                                                                     <parameter name='prop.attach.siteId' value='`$mdsal-sd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\r
273                                                                                                                                 </set>\r
274                                                                                                                                 <set>\r
275                                                                                                                                     <parameter name='prop.siteIds[$prop.siteIds_length]' value='`$prop.attach.siteId`' />\r
276                                                                                                                                     <parameter name='prop.siteIds_length' value='`$prop.siteIds_length + 1`' />\r
277                                                                                                                                 </set>\r
278                                                                                                                                 <set>\r
279                                                                                                                                     <parameter name='prop.siteAttachements[$prop.siteAttachements_length].siteId' value='`$prop.attach.siteId`' />\r
280                                                                                                                                     <parameter name='prop.siteAttachements[$prop.siteAttachements_length].roles[0]' value='`$prop.role`' />\r
281                                                                                                                                     <parameter name='prop.siteAttachements[$prop.siteAttachements_length].roles_length' value='1' />\r
282                                                                                                                                     <parameter name='prop.siteAttachements_length' value='`$prop.siteAttachements_length + 1`' />\r
283                                                                                                                                 </set>\r
284                                                                                                                             </block>\r
285                                                                                                                         </outcome>\r
286                                                                                                                     </switch>\r
287                                                                                                                 </block>\r
288                                                                                                             </for>\r
289                                                                                                         </block>\r
290                                                                                                     </outcome>\r
291                                                                                                 </switch>\r
292                                                                                             </block>\r
293                                                                                         </for>\r
294                                                                                     </block>\r
295                                                                                 </outcome>\r
296                                                                             </execute>\r
297                                                                         </block>\r
298                                                                     </outcome>\r
299                                                                 </switch>\r
300                                                             </block>\r
301                                                         </for>\r
302                                                     </block>\r
303                                                 </outcome>\r
304                                             </execute>\r
305                                         </block>\r
306                                     </outcome>\r
307                                 </execute>\r
308                             </block>\r
309                         </outcome>\r
310                     </switch>\r
311                 </block>\r
312             </for>\r
313             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
314                 resource="esr-thirdparty-sdnc" \r
315                 key="esr-thirdparty-sdnc.thirdparty-sdnc-id = SDWANController AND \r
316                      depth = '1'"\r
317         pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\r
318                 <outcome value='success'>\r
319                     <set>\r
320                         <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />\r
321                         <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />\r
322                         <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />\r
323                     </set>\r
324                 </outcome>\r
325                 <outcome value='not-found'>\r
326                     <return status='failure'>\r
327                         <parameter name='ack-final' value='Y'/>\r
328                         <parameter name="error-code" value="500" />\r
329                         <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
330                     </return>\r
331                 </outcome>\r
332                 <outcome value='Other'>\r
333                     <return status='failure'>\r
334                         <parameter name='ack-final' value='Y'/>\r
335                         <parameter name="error-code" value="500" />\r
336                         <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
337                     </return>\r
338                 </outcome>\r
339             </get-resource>\r
340             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
341                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />\r
342                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />\r
343                 <parameter name="format" value="json"/>\r
344                 <parameter name="httpMethod" value="post"/>\r
345                 <parameter name="responsePrefix" value="token-result"/>\r
346                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
347                 <parameter name="trustStorePassword" value="adminadmin"/>\r
348                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
349                 <parameter name="keyStorePassword" value="adminadmin"/>\r
350                 <outcome value='success'>\r
351                     <set>\r
352                         <parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\r
353                     </set>\r
354                 </outcome>\r
355                 <outcome value='failure'>\r
356                     <return status='failure'>\r
357                         <parameter name='ack-final' value='Y'/>\r
358                         <parameter name="error-code" value="500" />\r
359                         <parameter name="error-message" value="Error executing get token rest api" />\r
360                     </return>\r
361                 </outcome>\r
362             </execute>\r
363             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
364                 resource="service-subscription" \r
365         key= 'service-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type \r
366         AND customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id'\r
367       force="true" pfx="tmp.AnAI-data-tenant">\r
368                 <outcome value='success'>\r
369                     <switch test='`$tmp.AnAI-data-tenant.temp-ub-sub-account-id`'>\r
370                         <outcome value=''>\r
371                             <return status='failure'>\r
372                                 <parameter name='ack-final' value='Y'/>\r
373                                 <parameter name="error-code" value="500" />\r
374                                 <parameter name="error-message" value="Error executing get token rest api" />\r
375                             </return>\r
376                         </outcome>\r
377                         <outcome value='Other'>\r
378                             <set>\r
379                                 <parameter name='prop.tenant-id' value='`$tmp.AnAI-data-tenant.temp-ub-sub-account-id`' />\r
380                             </set>\r
381                         </outcome>\r
382                     </switch>\r
383                 </outcome>\r
384                 <outcome value='failure'>\r
385                     <return status='failure'>\r
386                         <parameter name='ack-final' value='Y'/>\r
387                         <parameter name="error-code" value="500" />\r
388                         <parameter name="error-message" value="Error executing get token rest api" />\r
389                     </return>\r
390                 </outcome>\r
391             </get-resource>\r
392             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
393                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/baseservice/tenants/authorization/' + $prop.tenant-id`" />\r
394                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
395                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
396                 <parameter name="format" value="json"/>\r
397                 <parameter name="httpMethod" value="put"/>\r
398                 <parameter name="responsePrefix" value="tenant-result"/>\r
399                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
400                 <parameter name="trustStorePassword" value="adminadmin"/>\r
401                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
402                 <parameter name="keyStorePassword" value="adminadmin"/>\r
403                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
404             </execute>\r
405             <call module='GENERIC-RESOURCE-API' rpc='sdwan-wanport-vnf-topology-operation-underlay' mode='sync' ></call>\r
406             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
407                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-vpn-topology.json'`" />\r
408                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/' + $prop.vpn1Id + '/topology'`" />\r
409                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
410                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
411                 <parameter name="format" value="json"/>\r
412                 <parameter name="httpMethod" value="put"/>\r
413                 <parameter name="responsePrefix" value="vpn-result"/>\r
414                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
415                 <parameter name="trustStorePassword" value="adminadmin"/>\r
416                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
417                 <parameter name="keyStorePassword" value="adminadmin"/>\r
418                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
419                 <outcome value='failure'>\r
420                     <return status='failure'>\r
421                         <parameter name='ack-final' value='Y'/>\r
422                         <parameter name="error-code" value="500" />\r
423                         <parameter name="error-message" value="Error executing Create vpn rest api" />\r
424                     </return>\r
425                 </outcome>\r
426                 <outcome value='success'>\r
427                     <block atomic="true"></block>\r
428                 </outcome>\r
429             </execute>\r
430             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
431                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sdwan-vpn.json'`" />\r
432                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/overlay-network/vpn'`" />\r
433                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
434                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
435                 <parameter name="format" value="json"/>\r
436                 <parameter name="httpMethod" value="put"/>\r
437                 <parameter name="responsePrefix" value="vpn-result"/>\r
438                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
439                 <parameter name="trustStorePassword" value="adminadmin"/>\r
440                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
441                 <parameter name="keyStorePassword" value="adminadmin"/>\r
442                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
443                 <outcome value='failure'>\r
444                     <return status='failure'>\r
445                         <parameter name='ack-final' value='Y'/>\r
446                         <parameter name="error-code" value="500" />\r
447                         <parameter name="error-message" value="Error executing Create vpn rest api" />\r
448                     </return>\r
449                 </outcome>\r
450                 <outcome value='success'>\r
451                     <block atomic="true"></block>\r
452                 </outcome>\r
453             </execute>\r
454             <set>\r
455                 <parameter name='connection-attachment-ar.allotted-resource-status.action' value="`$connection-attachment-topology-operation-input.request-information.request-action` " />\r
456                 <parameter name='connection-attachment-ar.allotted-resource-status.rpc-name' value="connection-attachment-topology-operation" />\r
457                 <parameter name='connection-attachment-ar.allotted-resource-status.rpc-action' value="`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action` " />\r
458                 <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$connection-attachment-topology-operation-input.request-information.` " />\r
459                 <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$connection-attachment-topology-operation-input.sdnc-request-header.` " />\r
460                 <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$connection-attachment-topology-operation-input.service-information.` " />\r
461             </set>\r
462             <set>\r
463                 <parameter name='connection-attachment-ar.allotted-resource-data.connection-attachment-topology.onap-model-information.' value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.` " />\r
464             </set>\r
465             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\r
466                 <parameter name="outputPath" value="tmp.current-time" />\r
467             </execute>\r
468             <set>\r
469                 <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingDelete' />\r
470                 <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$connection-attachment-topology-operation-input.request-information.request-action`' />\r
471                 <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`' />\r
472                 <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-request-id`' />\r
473                 <parameter name='connection-attachment-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\r
474             </set>\r
475             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
476                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.sdwan-attachment.templatefile`" />\r
477                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\r
478                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
479                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
480                 <parameter name='format' value='json' />\r
481                 <parameter name='httpMethod' value='PUT' />\r
482                 <parameter name="responsePrefix" value="mdsal-ar" />\r
483                 <outcome value='success'>\r
484                     <block></block>\r
485                 </outcome>\r
486                 <outcome value='failure'>\r
487                     <return status='failure'>\r
488                         <parameter name='ack-final' value='Y'/>\r
489                         <parameter name="error-code" value="500" />\r
490                         <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />\r
491                     </return>\r
492                 </outcome>\r
493                 <outcome value='not-found'>\r
494                     <return status='failure'>\r
495                         <parameter name='ack-final' value='Y'/>\r
496                         <parameter name="error-code" value="500" />\r
497                         <parameter name="error-message" value="Error updating md-sal for connection-attachment-allotted-resource" />\r
498                     </return>\r
499                 </outcome>\r
500             </execute>\r
501             <set>\r
502                 <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\r
503                 <parameter name='connection-attachment-object-path' value="`$tmp.ar.self-link`"/>\r
504                 <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
505  + $connection-attachment-topology-operation-input.service-information.service-instance-id\r
506  + '/service-data/service-topology/'`"/>\r
507             </set>\r
508             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
509                 resource="allotted-resource" \r
510                 key="customer.global-customer-id = $connection-attachment-topology-operation-input.service-information.global-customer-id AND\r
511                         service-subscription.service-type = $connection-attachment-topology-operation-input.service-information.subscription-service-type AND\r
512                         service-instance.service-instance-id = $connection-attachment-topology-operation-input.service-information.service-instance-id AND\r
513                         allotted-resource.id = $tmp.ar.allotted-resource-id"\r
514         pfx='pfx' local-only='false' force='false'>\r
515                 <parameter name="selflink" value="`$tmp.ar.self-link`" />\r
516                 <parameter name="model-invariant-id" value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid`" />\r
517                 <parameter name="model-version-id" value="`$connection-attachment-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid`" />\r
518                 <parameter name="operational-status" value="PendingDelete" />\r
519                 <outcome value='failure'>\r
520                     <return status='failure'>\r
521                         <parameter name='ack-final' value='Y'/>\r
522                         <parameter name="error-code" value="500" />\r
523                         <parameter name="error-message" value="AAI failed" />\r
524                     </return>\r
525                 </outcome>\r
526                 <outcome value='not-found'>\r
527                     <return status='failure'>\r
528                         <parameter name='ack-final' value='Y'/>\r
529                         <parameter name="error-code" value="500" />\r
530                         <parameter name="error-message" value="AAI failed" />\r
531                     </return>\r
532                 </outcome>\r
533             </update>\r
534             <return status='success'>\r
535                 <parameter name="ack-final-indicator" value="Y" />\r
536                 <parameter name="error-code" value="200" />\r
537                 <parameter name="error-message" value="`$error-message`" />\r
538             </return>\r
539         </block>\r
540     </method>\r
541 </service-logic>\r