Using RestApiCallNode instead of RestconfApiCallNode and updating templates accordingly.
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / sotn_nni / GENERIC-RESOURCE-API_sotn-get-otn-tunnel-path-from-oof.xml
1 <service-logic xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="GENERIC-RESOURCE-API" version="${project.version}">\r
2     <method rpc="sotn-get-otn-tunnel-path-from-oof" mode="sync">\r
3         <block atomic="true">\r
4             <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
5                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`"/>\r
6                 <parameter name="restapiUrl" value="`$prop.restapi.connection-oof-url`"/>\r
7                 <parameter name="restapiUser" value="`$prop.oof.user`"/>\r
8                 <parameter name="restapiPassword" value="`$prop.oof.password`"/>\r
9                 <parameter name="format" value="json"/>\r
10                 <parameter name="httpMethod" value="post"/>\r
11                 <parameter name="responsePrefix" value="otn-oof"/>\r
12                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
13                 <parameter name="trustStorePassword" value="adminadmin"/>\r
14                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
15                 <parameter name="keyStorePassword" value="adminadmin"/>\r
16                 <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>\r
17                 <outcome value="failure">\r
18                     <return status="failure">\r
19                         <parameter name="ack-final" value="Y"/>\r
20                         <parameter name="error-code" value="500"/>\r
21                         <parameter name="error-message" value="Error executing OOF api"/>\r
22                     </return>\r
23                 </outcome>\r
24                 <outcome value="success">\r
25                     <block/>\r
26                 </outcome>\r
27             </execute>\r
28             <for index="vidx" start="0" end="`$otn-oof.solutions_length`">\r
29                 <block atomic="true">\r
30                     <set>\r
31                         <parameter name="otn-oof.link-name" value="`$otn-oof.solutions[$vidx].link`"/>\r
32                     </set>\r
33                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link" key="logical-link.link-name = $otn-oof.link-name" pfx="tmp.aai.cross-link" local-only="false">\r
34                         <!--AND depth = '0'"-->\r
35                         <outcome value="success">\r
36                             <block>\r
37                                 <switch test="`$tmp.aai.cross-link.link-role`">\r
38                                     <outcome value="cross-domain">\r
39                                         <block atomic="true">\r
40                                             <for index="lridx" start="0" end="`$tmp.aai.cross-link.relationship-list.relationship_length`">\r
41                                                 <switch test="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].related-to`">\r
42                                                     <outcome value="p-interface">\r
43                                                         <block>\r
44                                                             <set>\r
45                                                                 <parameter name="tmp.cross-link.src-ltpId" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[1].relationship-value`"/>\r
46                                                                 <parameter name="tmp.cross-link.dst-ltpId" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[1].relationship-value`"/>\r
47                                                                 <parameter name="tmp.src-pnf-name" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[0].relationship-value`"/>\r
48                                                                 <parameter name="tmp.dst-pnf-name" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[0].relationship-value`"/>\r
49                                                             </set>\r
50                                                             <break/>\r
51                                                         </block>\r
52                                                     </outcome>\r
53                                                 </switch>\r
54                                             </for>\r
55                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $tmp.src-pnf-name AND p-interface.interface-name = $tmp.cross-link.src-ltpId" pfx="tmp.aai.src-tp" local-only="false">\r
56                                                 <!--AND depth = '0'"-->\r
57                                                 <outcome value="success">\r
58                                                     <block>\r
59                                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="pnf.pnf-name = $tmp.src-pnf-name" pfx="tmp.aai.src-pnf" local-only="false">\r
60                                                             <!--AND depth = '0'"-->\r
61                                                             <outcome value="success">\r
62                                                                 <block>\r
63                                                                     <set>\r
64                                                                         <parameter name="domain-A.node-id" value="`$tmp.aai.src-pnf.pnf-id`"/>\r
65                                                                         <parameter name="domain-A.tpn" value="1"/>\r
66                                                                     </set>\r
67                                                                     <for silentFailure="true" index="vidx" start="0" end="`$tmp.aai.src-pnf.relationship-list.relationship_length`">\r
68                                                                         <switch test="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].related-to`">\r
69                                                                             <outcome value="tunnel-termination-point">\r
70                                                                                 <block atomic="true">\r
71                                                                                     <set>\r
72                                                                                         <parameter name="tmp.src-ttp-id" value="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`"/>\r
73                                                                                     </set>\r
74                                                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="tunnel-termination-point" key="tunnel-termination-point.ttp-id = $tmp.src-ttp-id AND depth = '0'" pfx="tmp.aai.src-ttp" local-only="false">\r
75                                                                                         <outcome value="success">\r
76                                                                                             <block atomic="true">\r
77                                                                                                 <switch test="`$tmp.aai.src-ttp.relationship-list.relationship_length`">\r
78                                                                                                     <outcome value="">\r
79                                                                                                         <block/>\r
80                                                                                                     </outcome>\r
81                                                                                                     <outcome value="0">\r
82                                                                                                         <block/>\r
83                                                                                                     </outcome>\r
84                                                                                                     <outcome value="Other">\r
85                                                                                                         <for silentFailure="true" index="vidx" start="0" end="`$tmp.aai.src-ttp.relationship-list.relationship_length`">\r
86                                                                                                             <switch test="`$tmp.aai.src-ttp.relationship-list.relationship[$vidx].related-to`">\r
87                                                                                                                 <outcome value="p-interface">\r
88                                                                                                                     <block atomic="true">\r
89                                                                                                                         <set>\r
90                                                                                                                             <parameter name="domain-A.ttp-id" value="`$tmp.aai.src-ttp.tunnel-tp-id`"/>\r
91                                                                                                                         </set>\r
92                                                                                                                     </block>\r
93                                                                                                                 </outcome>\r
94                                                                                                             </switch>\r
95                                                                                                         </for>\r
96                                                                                                     </outcome>\r
97                                                                                                 </switch>\r
98                                                                                             </block>\r
99                                                                                         </outcome>\r
100                                                                                     </get-resource>\r
101                                                                                 </block>\r
102                                                                             </outcome>\r
103                                                                             <outcome value="network-resource">\r
104                                                                                 <block atomic="true">\r
105                                                                                     <set>\r
106                                                                                         <parameter name="tmp.domain-A.network-id" value="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`"/>\r
107                                                                                     </set>\r
108                                                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="network-resource" key="network-resource.network-id = $tmp.domain-A.network-id AND depth = '0'" pfx="tmp.aai.src-network-resource" local-only="false">\r
109                                                                                         <outcome value="success">\r
110                                                                                             <set>\r
111                                                                                                 <parameter name="domain-A.network-id" value="`$tmp.aai.src-network-resource.network-id`"/>\r
112                                                                                                 <parameter name="domain-A.provider-id" value="`$tmp.aai.src-network-resource.provider-id`"/>\r
113                                                                                                 <parameter name="domain-A.client-id" value="`$tmp.aai.src-network-resource.client-id`"/>\r
114                                                                                                 <parameter name="domain-A.te-topo-id" value="`$tmp.aai.src-network-resource.te-topo-id`"/>\r
115                                                                                                 <parameter name="domain-A.network-type" value="`$tmp.aai.src-network-resource.network-type`"/>\r
116                                                                                             </set>\r
117                                                                                         </outcome>\r
118                                                                                     </get-resource>\r
119                                                                                 </block>\r
120                                                                             </outcome>\r
121                                                                         </switch>\r
122                                                                     </for>\r
123                                                                 </block>\r
124                                                             </outcome>\r
125                                                             <outcome value="not-found">\r
126                                                                 <return status="failure">\r
127                                                                     <parameter name="ack-final" value="Y"/>\r
128                                                                     <parameter name="error-code" value="500"/>\r
129                                                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
130                                                                 </return>\r
131                                                             </outcome>\r
132                                                             <outcome value="Other">\r
133                                                                 <return status="failure">\r
134                                                                     <parameter name="ack-final" value="Y"/>\r
135                                                                     <parameter name="error-code" value="500"/>\r
136                                                                     <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
137                                                                 </return>\r
138                                                             </outcome>\r
139                                                         </get-resource>\r
140                                                     </block>\r
141                                                 </outcome>\r
142                                                 <outcome value="not-found">\r
143                                                     <return status="failure">\r
144                                                         <parameter name="ack-final" value="Y"/>\r
145                                                         <parameter name="error-code" value="500"/>\r
146                                                         <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
147                                                     </return>\r
148                                                 </outcome>\r
149                                                 <outcome value="Other">\r
150                                                     <return status="failure">\r
151                                                         <parameter name="ack-final" value="Y"/>\r
152                                                         <parameter name="error-code" value="500"/>\r
153                                                         <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
154                                                     </return>\r
155                                                 </outcome>\r
156                                             </get-resource>\r
157                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $tmp.dst-pnf-name AND p-interface.interface-name = $tmp.cross-link.dst-ltpId" pfx="tmp.aai.dst-tp" local-only="false">\r
158                                                 <!--AND depth = '0'"-->\r
159                                                 <outcome value="success">\r
160                                                     <block>\r
161                                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="pnf.pnf-name = $tmp.dst-pnf-name" pfx="tmp.aai.dst-pnf" local-only="false">\r
162                                                             <!--AND depth = '0'"-->\r
163                                                             <outcome value="success">\r
164                                                                 <block>\r
165                                                                     <set>\r
166                                                                         <parameter name="domain-B.node-id" value="`$tmp.aai.dst-pnf.pnf-id`"/>\r
167                                                                         <parameter name="domain-B.tpn" value="1"/>\r
168                                                                     </set>\r
169                                                                     <for silentFailure="true" index="vidx" start="0" end="`$tmp.aai.dst-pnf.relationship-list.relationship_length`">\r
170                                                                         <switch test="`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].related-to`">\r
171                                                                             <outcome value="tunnel-termination-point">\r
172                                                                                 <block atomic="true">\r
173                                                                                     <set>\r
174                                                                                         <parameter name="tmp.dst-ttp-id" value="`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`"/>\r
175                                                                                     </set>\r
176                                                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="tunnel-termination-point" key="tunnel-termination-point.ttp-id = $tmp.dst-ttp-id AND depth = '0'" pfx="tmp.aai.dst-ttp" local-only="false">\r
177                                                                                         <outcome value="success">\r
178                                                                                             <block atomic="true">\r
179                                                                                                 <switch test="`$tmp.aai.dst-ttp.relationship-list.relationship_length`">\r
180                                                                                                     <outcome value="">\r
181                                                                                                         <block/>\r
182                                                                                                     </outcome>\r
183                                                                                                     <outcome value="0">\r
184                                                                                                         <block/>\r
185                                                                                                     </outcome>\r
186                                                                                                     <outcome value="Other">\r
187                                                                                                         <for silentFailure="true" index="vidx" start="0" end="`$tmp.aai.dst-ttp.relationship-list.relationship_length`">\r
188                                                                                                             <switch test="`$tmp.aai.dst-ttp.relationship-list.relationship[$vidx].related-to`">\r
189                                                                                                                 <outcome value="p-interface">\r
190                                                                                                                     <block atomic="true">\r
191                                                                                                                         <set>\r
192                                                                                                                             <parameter name="domain-B.ttp-id" value="`$tmp.aai.dst-ttp.tunnel-tp-id`"/>\r
193                                                                                                                         </set>\r
194                                                                                                                     </block>\r
195                                                                                                                 </outcome>\r
196                                                                                                             </switch>\r
197                                                                                                         </for>\r
198                                                                                                     </outcome>\r
199                                                                                                 </switch>\r
200                                                                                             </block>\r
201                                                                                         </outcome>\r
202                                                                                     </get-resource>\r
203                                                                                 </block>\r
204                                                                             </outcome>\r
205                                                                             <outcome value="network-resource">\r
206                                                                                 <block atomic="true">\r
207                                                                                     <set>\r
208                                                                                         <parameter name="tmp.domain-B.network-id" value="`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`"/>\r
209                                                                                     </set>\r
210                                                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="network-resource" key="network-resource.network-id = $tmp.domain-B.network-id AND depth = '0'" pfx="tmp.aai.dst-network-resource" local-only="false">\r
211                                                                                         <outcome value="success">\r
212                                                                                             <set>\r
213                                                                                                 <parameter name="domain-B.network-id" value="`$tmp.aai.dst-network-resource.network-id`"/>\r
214                                                                                                 <parameter name="domain-B.provider-id" value="`$tmp.aai.dst-network-resource.provider-id`"/>\r
215                                                                                                 <parameter name="domain-B.client-id" value="`$tmp.aai.dst-network-resource.client-id`"/>\r
216                                                                                                 <parameter name="domain-B.te-topo-id" value="`$tmp.aai.dst-network-resource.te-topo-id`"/>\r
217                                                                                                 <parameter name="domain-B.network-type" value="`$tmp.aai.dst-network-resource.network-type`"/>\r
218                                                                                             </set>\r
219                                                                                         </outcome>\r
220                                                                                     </get-resource>\r
221                                                                                 </block>\r
222                                                                             </outcome>\r
223                                                                         </switch>\r
224                                                                     </for>\r
225                                                                 </block>\r
226                                                             </outcome>\r
227                                                             <outcome value="not-found">\r
228                                                                 <return status="failure">\r
229                                                                     <parameter name="ack-final" value="Y"/>\r
230                                                                     <parameter name="error-code" value="500"/>\r
231                                                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
232                                                                 </return>\r
233                                                             </outcome>\r
234                                                             <outcome value="Other">\r
235                                                                 <return status="failure">\r
236                                                                     <parameter name="ack-final" value="Y"/>\r
237                                                                     <parameter name="error-code" value="500"/>\r
238                                                                     <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
239                                                                 </return>\r
240                                                             </outcome>\r
241                                                         </get-resource>\r
242                                                     </block>\r
243                                                 </outcome>\r
244                                                 <outcome value="not-found">\r
245                                                     <return status="failure">\r
246                                                         <parameter name="ack-final" value="Y"/>\r
247                                                         <parameter name="error-code" value="500"/>\r
248                                                         <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
249                                                     </return>\r
250                                                 </outcome>\r
251                                                 <outcome value="Other">\r
252                                                     <return status="failure">\r
253                                                         <parameter name="ack-final" value="Y"/>\r
254                                                         <parameter name="error-code" value="500"/>\r
255                                                         <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
256                                                     </return>\r
257                                                 </outcome>\r
258                                             </get-resource>\r
259                                             <break/>\r
260                                         </block>\r
261                                     </outcome>\r
262                                 </switch>\r
263                                 <switch test="`length($tmp.aai.cross-link.relationship-list.relationship) == 0`">\r
264                                     <outcome value="true"/>\r
265                                     <outcome value="false">\r
266                                         <switch test="`$vidx`">\r
267                                             <outcome value="0">\r
268                                                 <for index="lridx" start="0" end="`$tmp.aai.cross-link.relationship-list.relationship_length`">\r
269                                                     <switch test="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].related-to`">\r
270                                                         <outcome value="p-interface">\r
271                                                             <block>\r
272                                                                 <set>\r
273                                                                     <parameter name="tmp.oofsolutions-first-src-pnf-name" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[0].relationship-value`"/>\r
274                                                                     <parameter name="tmp.oofsolutions-first-src-ltpId" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].relationship-data[1].relationship-value`"/>\r
275                                                                 </set>\r
276                                                                 <break/>\r
277                                                             </block>\r
278                                                         </outcome>\r
279                                                     </switch>\r
280                                                 </for>\r
281                                             </outcome>\r
282                                             <outcome value="`$otn-oof.solutions_length - 1`">\r
283                                                 <for index="lridx" start="0" end="`$tmp.aai.cross-link.relationship-list.relationship_length`">\r
284                                                     <switch test="`$tmp.aai.cross-link.relationship-list.relationship[$lridx].related-to`">\r
285                                                         <outcome value="p-interface">\r
286                                                             <block>\r
287                                                                 <set>\r
288                                                                     <parameter name="tmp.oofsolutions-last-dst-pnf-name" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[0].relationship-value`"/>\r
289                                                                     <parameter name="tmp.oofsolutions-last-dst-ltpId" value="`$tmp.aai.cross-link.relationship-list.relationship[$lridx + 1].relationship-data[1].relationship-value`"/>\r
290                                                                 </set>\r
291                                                                 <break/>\r
292                                                             </block>\r
293                                                         </outcome>\r
294                                                     </switch>\r
295                                                 </for>\r
296                                             </outcome>\r
297                                         </switch>\r
298                                     </outcome>\r
299                                 </switch>\r
300                             </block>\r
301                         </outcome>\r
302                         <outcome value="not-found">\r
303                             <return status="failure">\r
304                                 <parameter name="ack-final" value="Y"/>\r
305                                 <parameter name="error-code" value="500"/>\r
306                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
307                             </return>\r
308                         </outcome>\r
309                         <outcome value="Other">\r
310                             <return status="failure">\r
311                                 <parameter name="ack-final" value="Y"/>\r
312                                 <parameter name="error-code" value="500"/>\r
313                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/>\r
314                             </return>\r
315                         </outcome>\r
316                     </get-resource>\r
317                 </block>\r
318             </for>\r
319         </block>\r
320     </method>\r
321 </service-logic>