Updated DG for network-topology-operation-activate
[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.openecomp.org/sdnc/svclogic" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd" module="GENERIC-RESOURCE-API" version="${project.version}">
3     <method rpc="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                             </switch>
44                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_exportRT1'`">
45                                 <outcome value="true" />
46                             </switch>
47                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_vni'`">
48                                 <outcome value="true">
49                                     <set>
50                                         <parameter name="prop.dci-connects.vni" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
51                                     </set>
52                                 </outcome>
53                             </switch>
54                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'tunnelType'`">
55                                 <outcome value="true">
56                                     <set>
57                                         <parameter name="prop.dci-connects.tunnelType" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
58                                     </set>
59                                 </outcome>
60                             </switch>
61                         </block>
62                     </for>
63                     <block atomic="true">
64                         <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">
65                             <outcome value="success">
66                                 <block atomic="true" />
67                             </outcome>
68                             <outcome value="not-found">
69                                 <return status="failure">
70                                     <parameter name="error-code" value="" />
71                                     <parameter name="error-message" value="" />
72                                 </return>
73                             </outcome>
74                             <outcome value="Other">
75                                 <return status="failure">
76                                     <parameter name="error-code" value="" />
77                                     <parameter name="error-message" value="" />
78                                 </return>
79                             </outcome>
80                         </get-resource>
81                         <set>
82                             <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.serviceUrl`" />
83                             <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />
84                             <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.user-name`" />
85                             <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.password`" />
86                         </set>
87                         <switch test="`$prop.dci-connects.tunnelType`">
88                             <outcome value="L3-DCI">
89                                 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
90                                     <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3-dci-connects-template.json'" />
91                                     <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l3-dci-connects'" />
92                                     <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
93                                     <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
94                                     <parameter name="format" value="json" />
95                                     <parameter name="httpMethod" value="post" />
96                                     <parameter name="responsePrefix" value="restapi-result" />
97                                 </execute>
98                             </outcome>
99                             <outcome value="L2-DCI">
100                                 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
101                                     <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l2-dci-connects-template.json'" />
102                                     <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l2-dci-connects'" />
103                                     <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
104                                     <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
105                                     <parameter name="format" value="json" />
106                                     <parameter name="httpMethod" value="post" />
107                                     <parameter name="responsePrefix" value="restapi-result" />
108                                 </execute>
109                             </outcome>
110                         </switch>
111                     </block>
112                 </block>
113                 <block atomic="true">
114                     <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
115                         <block>
116                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_id'`">
117                                 <outcome value="true">
118                                     <set>
119                                         <parameter name="prop.dci-connects.id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
120                                     </set>
121                                 </outcome>
122                             </switch>
123                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_description'`">
124                                 <outcome value="true">
125                                     <set>
126                                         <parameter name="prop.dci-connects.description" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
127                                     </set>
128                                 </outcome>
129                                 <outcome value="false">
130                                     <set>
131                                         <parameter name="prop.dci-connects.description" value="" />
132                                     </set>
133                                 </outcome>
134                             </switch>
135                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_networkName'`">
136                                 <outcome value="true" />
137                             </switch>
138                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_routerId'`">
139                                 <outcome value="true">
140                                     <set>
141                                         <parameter name="prop.dci-connects.router_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
142                                     </set>
143                                 </outcome>
144                             </switch>
145                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_importRT1'`">
146                                 <outcome value="true" />
147                             </switch>
148                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_exportRT1'`">
149                                 <outcome value="true" />
150                             </switch>
151                             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_vni'`">
152                                 <outcome value="true">
153                                     <set>
154                                         <parameter name="prop.dci-connects.vni" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
155                                     </set>
156                                 </outcome>
157                             </switch>
158                         </block>
159                     </for>
160                     <block atomic="true">
161                         <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">
162                             <outcome value="success">
163                                 <block atomic="true" />
164                             </outcome>
165                             <outcome value="not-found">
166                                 <return status="failure">
167                                     <parameter name="error-code" value="" />
168                                     <parameter name="error-message" value="" />
169                                 </return>
170                             </outcome>
171                             <outcome value="Other">
172                                 <return status="failure">
173                                     <parameter name="error-code" value="" />
174                                     <parameter name="error-message" value="" />
175                                 </return>
176                             </outcome>
177                         </get-resource>
178                         <set>
179                             <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.serviceUrl`" />
180                             <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />
181                             <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.user-name`" />
182                             <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list[0].esr-system-info.password`" />
183                         </set>
184                         <switch test="`$prop.dci-connects.tunnelType`">
185                             <outcome value="L3-DCI">
186                                 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
187                                     <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3-dci-connects-template.json'" />
188                                     <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l3-dci-connects'" />
189                                     <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
190                                     <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
191                                     <parameter name="format" value="json" />
192                                     <parameter name="httpMethod" value="post" />
193                                     <parameter name="responsePrefix" value="restapi-result" />
194                                 </execute>
195                             </outcome>
196                             <outcome value="L2-DCI">
197                                 <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
198                                     <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l2-dci-connects-template.json'" />
199                                     <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url +'/v2.0/l2-dci-connects'" />
200                                     <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
201                                     <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
202                                     <parameter name="format" value="json" />
203                                     <parameter name="httpMethod" value="post" />
204                                     <parameter name="responsePrefix" value="restapi-result" />
205                                 </execute>
206                             </outcome>
207                         </switch>
208                     </block>
209                 </block>
210             </block>
211             <return status="success">
212                 <parameter name="ack-final-indicator" value="Y" />
213                 <parameter name="error-code" value="200" />
214                 <parameter name="error-message" value="`$error-message`" />
215             </return>
216         </block>
217     </method>
218 </service-logic>