Patched DCI overlay DG to main DG
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_dci-connects-network-topology-operation-activate.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <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}">
3     <method rpc="dci-connects-network-topology-operation-activate" mode="sync">
4         <block atomic="true">
5             <call module="GENERIC-RESOURCE-API" rpc="validate-network-input-parameters" mode="sync" />
6             <block atomic="true">
7                 <block atomic="true">
8                     <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
9                         <block>
10                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`">
11                                 <outcome value="true">
12                                     <set>
13                                         <parameter name="prop.dci-connects.name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
14                                     </set>
15                                 </outcome>
16                             </switch>
17                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_id'`">
18                                 <outcome value="true">
19                                     <set>
20                                         <parameter name="prop.dci-connects.id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
21                                     </set>
22                                 </outcome>
23                             </switch>
24                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_description'`">
25                                 <outcome value="true">
26                                     <set>
27                                         <parameter name="prop.dci-connects.description" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
28                                     </set>
29                                 </outcome>
30                             </switch>
31                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_networkName'`">
32                                 <outcome value="true" />
33                             </switch>
34                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_routerId'`">
35                                 <outcome value="true">
36                                     <set>
37                                         <parameter name="prop.dci-connects.router_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
38                                     </set>
39                                 </outcome>
40                             </switch>
41                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_importRT1'`">
42                                 <outcome value="true">
43                                     <block atomic="true">
44                                         <set>
45                                             <parameter name="tmp.dci-connects.evpn_irts.original" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
46                                         </set>
47                                         <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">
48                                             <parameter name="original_string" value="`$tmp.dci-connects.evpn_irts.original`" />
49                                             <parameter name="regex" value="," />
50                                             <parameter name="ctx_memory_result_key" value="tmp.dci-connects.evpn_irts" />
51                                             <outcome value="success">
52                                                 <for index="idx" start="0" end="`$tmp.dci-connects.evpn_irts_length`">
53                                                     <set>
54                                                         <parameter name="prop.dci-connects.evpn_irts[$idx]" value="`$tmp.dci-connects.evpn_irts[$idx]`" />
55                                                     </set>
56                                                 </for>
57                                             </outcome>
58                                             <outcome value="failure">
59                                                 <return status="failure">
60                                                     <parameter name="error-code" value="" />
61                                                     <parameter name="error-message" value="An error occured while splitting sna1_route" />
62                                                 </return>
63                                             </outcome>
64                                         </execute>
65                                     </block>
66                                 </outcome>
67                             </switch>
68                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_exportRT1'`">
69                                 <outcome value="true">
70                                     <block atomic="true">
71                                         <set>
72                                             <parameter name="tmp.dci-connects.evpn_erts.original" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
73                                         </set>
74                                         <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">
75                                             <parameter name="original_string" value="`$tmp.dci-connects.evpn_erts.original`" />
76                                             <parameter name="regex" value="," />
77                                             <parameter name="ctx_memory_result_key" value="tmp.dci-connects.evpn_erts" />
78                                             <outcome value="success">
79                                                 <for index="idx" start="0" end="`$tmp.dci-connects.evpn_erts_length`">
80                                                     <set>
81                                                         <parameter name="prop.dci-connects.evpn_erts[$idx]" value="`$tmp.dci-connects.evpn_erts[$idx]`" />
82                                                     </set>
83                                                 </for>
84                                             </outcome>
85                                             <outcome value="failure">
86                                                 <return status="failure">
87                                                     <parameter name="error-code" value="" />
88                                                     <parameter name="error-message" value="An error occured while splitting sna1_route" />
89                                                 </return>
90                                             </outcome>
91                                         </execute>
92                                     </block>
93                                 </outcome>
94                             </switch>
95                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_vni'`">
96                                 <outcome value="true">
97                                     <set>
98                                         <parameter name="prop.dci-connects.vni" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
99                                     </set>
100                                 </outcome>
101                             </switch>
102                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'tunnelType'`">
103                                 <outcome value="true">
104                                     <set>
105                                         <parameter name="prop.dci-connects.tunnelType" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
106                                     </set>
107                                 </outcome>
108                             </switch>
109                         </block>
110                     </for>
111                     <block atomic="true">
112                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.dci-connects.id AND         depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">
113                             <outcome value="success">
114                                 <block atomic="true" />
115                             </outcome>
116                             <outcome value="not-found">
117                                 <return status="failure">
118                                     <parameter name="error-code" value="" />
119                                     <parameter name="error-message" value="" />
120                                 </return>
121                             </outcome>
122                             <outcome value="Other">
123                                 <return status="failure">
124                                     <parameter name="error-code" value="" />
125                                     <parameter name="error-message" value="" />
126                                 </return>
127                             </outcome>
128                         </get-resource>
129                         <set>
130                             <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.serviceUrl`" />
131                             <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />
132                             <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.user-name`" />
133                             <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.password`" />
134                         </set>
135                         <switch test="`$prop.dci-connects.tunnelType`">
136                             <outcome value="L3-DCI">
137                                 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
138                                     <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3-dci-connects-template.json'" />
139                                     <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l3-dci-connects'" />
140                                     <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
141                                     <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
142                                     <parameter name="format" value="json" />
143                                     <parameter name="httpMethod" value="post" />
144                                     <parameter name="responsePrefix" value="restapi-result" />
145                                 </execute>
146                             </outcome>
147                             <outcome value="L2-DCI">
148                                 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
149                                     <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l2-dci-connects-template.json'" />
150                                     <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l2-dci-connects'" />
151                                     <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
152                                     <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
153                                     <parameter name="format" value="json" />
154                                     <parameter name="httpMethod" value="post" />
155                                     <parameter name="responsePrefix" value="restapi-result" />
156                                 </execute>
157                             </outcome>
158                         </switch>
159                     </block>
160                 </block>
161                 <block atomic="true">
162                     <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
163                         <block>
164                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_id'`">
165                                 <outcome value="true">
166                                     <set>
167                                         <parameter name="prop.dci-connects.id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
168                                     </set>
169                                 </outcome>
170                             </switch>
171                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_description'`">
172                                 <outcome value="true">
173                                     <set>
174                                         <parameter name="prop.dci-connects.description" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
175                                     </set>
176                                 </outcome>
177                                 <outcome value="false">
178                                     <set>
179                                         <parameter name="prop.dci-connects.description" value="" />
180                                     </set>
181                                 </outcome>
182                             </switch>
183                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_networkName'`">
184                                 <outcome value="true" />
185                             </switch>
186                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_routerId'`">
187                                 <outcome value="true">
188                                     <set>
189                                         <parameter name="prop.dci-connects.router_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
190                                     </set>
191                                 </outcome>
192                             </switch>
193                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_importRT1'`">
194                                 <outcome value="true">
195                                     <block atomic="true">
196                                         <set>
197                                             <parameter name="tmp.dci-connects.evpn_irts.original" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
198                                         </set>
199                                         <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">
200                                             <parameter name="original_string" value="`$tmp.dci-connects.evpn_irts.original`" />
201                                             <parameter name="regex" value="," />
202                                             <parameter name="ctx_memory_result_key" value="tmp.dci-connects.evpn_irts" />
203                                             <outcome value="success">
204                                                 <for index="idx" start="0" end="`$tmp.dci-connects.evpn_irts_length`">
205                                                     <set>
206                                                         <parameter name="prop.dci-connects.evpn_irts[$idx]" value="`$tmp.dci-connects.evpn_irts[$idx]`" />
207                                                     </set>
208                                                 </for>
209                                             </outcome>
210                                             <outcome value="failure">
211                                                 <return status="failure">
212                                                     <parameter name="error-code" value="" />
213                                                     <parameter name="error-message" value="An error occured while splitting sna1_route" />
214                                                 </return>
215                                             </outcome>
216                                         </execute>
217                                     </block>
218                                 </outcome>
219                             </switch>
220                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_exportRT1'`">
221                                 <outcome value="true">
222                                     <block atomic="true">
223                                         <set>
224                                             <parameter name="tmp.dci-connects.evpn_erts.original" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
225                                         </set>
226                                         <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">
227                                             <parameter name="original_string" value="`$tmp.dci-connects.evpn_erts.original`" />
228                                             <parameter name="regex" value="," />
229                                             <parameter name="ctx_memory_result_key" value="tmp.dci-connects.evpn_erts" />
230                                             <outcome value="success">
231                                                 <for index="idx" start="0" end="`$tmp.dci-connects.evpn_erts_length`">
232                                                     <set>
233                                                         <parameter name="prop.dci-connects.evpn_erts[$idx]" value="`$tmp.dci-connects.evpn_erts[$idx]`" />
234                                                     </set>
235                                                 </for>
236                                             </outcome>
237                                             <outcome value="failure">
238                                                 <return status="failure">
239                                                     <parameter name="error-code" value="" />
240                                                     <parameter name="error-message" value="An error occured while splitting sna1_route" />
241                                                 </return>
242                                             </outcome>
243                                         </execute>
244                                     </block>
245                                 </outcome>
246                             </switch>
247                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_vni'`">
248                                 <outcome value="true">
249                                     <set>
250                                         <parameter name="prop.dci-connects.vni" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
251                                     </set>
252                                 </outcome>
253                             </switch>
254                         </block>
255                     </for>
256                     <block atomic="true">
257                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.dci-connects.id AND         depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false">
258                             <outcome value="success">
259                                 <block atomic="true" />
260                             </outcome>
261                             <outcome value="not-found">
262                                 <return status="failure">
263                                     <parameter name="error-code" value="" />
264                                     <parameter name="error-message" value="" />
265                                 </return>
266                             </outcome>
267                             <outcome value="Other">
268                                 <return status="failure">
269                                     <parameter name="error-code" value="" />
270                                     <parameter name="error-message" value="" />
271                                 </return>
272                             </outcome>
273                         </get-resource>
274                         <set>
275                             <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.serviceUrl`" />
276                             <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />
277                             <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.user-name`" />
278                             <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.password`" />
279                         </set>
280                         <switch test="`$prop.dci-connects.tunnelType`">
281                             <outcome value="L3-DCI">
282                                 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
283                                     <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3-dci-connects-template.json'" />
284                                     <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l3-dci-connects'" />
285                                     <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
286                                     <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
287                                     <parameter name="format" value="json" />
288                                     <parameter name="httpMethod" value="post" />
289                                     <parameter name="responsePrefix" value="restapi-result" />
290                                 </execute>
291                             </outcome>
292                             <outcome value="L2-DCI">
293                                 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
294                                     <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l2-dci-connects-template.json'" />
295                                     <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l2-dci-connects'" />
296                                     <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
297                                     <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
298                                     <parameter name="format" value="json" />
299                                     <parameter name="httpMethod" value="post" />
300                                     <parameter name="responsePrefix" value="restapi-result" />
301                                 </execute>
302                             </outcome>
303                         </switch>
304                     </block>
305                 </block>
306             </block>
307             <return status="success">
308                 <parameter name="ack-final-indicator" value="Y" />
309                 <parameter name="error-code" value="200" />
310                 <parameter name="error-message" value="`$error-message`" />
311             </return>
312         </block>
313     </method>
314 </service-logic>