9a86f9334b96aa74e2a8b1c85a0d684e89bf9516
[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\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='sotn-get-otn-tunnel-path-from-oof' mode='sync'>\r
5         <block atomic="true">\r
6             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
7                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`" />\r
8                 <parameter name="restapiUrl" value="`$prop.restapi.connection-oof-url`" />\r
9                 <parameter name="restapiUser" value="`$prop.oof.user`" />\r
10                 <parameter name="restapiPassword" value="`$prop.oof.password`" />\r
11                 <parameter name="format" value="json"/>\r
12                 <parameter name="httpMethod" value="post"/>\r
13                 <parameter name="responsePrefix" value="otn-oof"/>\r
14                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
15                 <parameter name="trustStorePassword" value="adminadmin"/>\r
16                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
17                 <parameter name="keyStorePassword" value="adminadmin"/>\r
18                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
19                 <outcome value='failure'>\r
20                     <return status='failure'>\r
21                         <parameter name='ack-final' value='Y'/>\r
22                         <parameter name="error-code" value="500" />\r
23                         <parameter name="error-message" value="Error executing OOF api" />\r
24                     </return>\r
25                 </outcome>\r
26                 <outcome value='success'>\r
27                     <block></block>\r
28                 </outcome>\r
29             </execute>\r
30             <for index='vidx' start='0' end='`$otn-oof.otn-links_length`' >\r
31                 <block atomic="true">\r
32                     <set>\r
33                         <parameter name='otn-oof.link-name' value='`$otn-oof.solutions[$vidx].`' />\r
34                     </set>\r
35                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
36                 resource="logical-link" \r
37                 key="logical-link.link-name = $otn-oof.link-name \r
38                 AND depth = '0'"\r
39         pfx='tmp.aai.cross-link' local-only='false' >\r
40                         <outcome value='success'>\r
41                             <switch test='`$tmp.aai.cross-link.link-role`'>\r
42                                 <outcome value='cross-domain-link'>\r
43                                     <block atomic="true">\r
44                                         <set>\r
45                                             <parameter name='tmp.cross-link.src-ltpId' value="`$tmp.aai.cross-link.relationship-list.relationship[0].relationship-data[0].relationship-value`" />\r
46                                             <parameter name='tmp.cross-link.dst-ltpId' value="`$tmp.aai.cross-link.relationship-list.relationship[1].relationship-data[0].relationship-value`" />\r
47                                         </set>\r
48                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
49                 resource="p-interface" \r
50                 key="p-interface.interface-name = $tmp.src-ltpId \r
51                 AND depth = '0'"\r
52         pfx='tmp.aai.src-tp' local-only='false' >\r
53                                             <outcome value='success'>\r
54                                                 <set>\r
55                                                     <parameter name='tmp.src-pnf-name' value="`$tmp.aai.src-tp.relationship-list.relationship[0].relationship-data[0].relationship-value`" />\r
56                                                 </set>\r
57                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
58                 resource="pnf" \r
59                 key="pnf.pnf-name = $tmp.src-pnf-name \r
60                 AND depth = '0'"\r
61         pfx='tmp.aai.src-pnf' local-only='false' >\r
62                                                     <outcome value='success'>\r
63                                                         <block>\r
64                                                             <set>\r
65                                                                 <parameter name='domain-A.node-id' value="`$tmp.aai.src-pnf.pnf-id`" />\r
66                                                                 <parameter name='domain-A.tpn' value='1' />\r
67                                                             </set>\r
68                                                             <for silentFailure='true' index='vidx' start='0' end='`$tmp.aai.src-pnf.relationship-list.relationship_length`' >\r
69                                                                 <switch test='`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].related-to`'>\r
70                                                                     <outcome value='tunnel-termination-point'>\r
71                                                                         <block atomic="true">\r
72                                                                             <set>\r
73                                                                                 <parameter name='tmp.src-ttp-id' value="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />\r
74                                                                             </set>\r
75                                                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
76                 resource="tunnel-termination-point" \r
77                 key="tunnel-termination-point.ttp-id = $tmp.src-ttp-id \r
78                 AND depth = '0'"\r
79         pfx='tmp.aai.src-ttp' local-only='false' >\r
80                                                                                 <outcome value='success'>\r
81                                                                                     <set>\r
82                                                                                         <parameter name='domain-A.ttp-id' value="`$tmp.aai.src-ttp.ttp-id`" />\r
83                                                                                     </set>\r
84                                                                                 </outcome>\r
85                                                                             </get-resource>\r
86                                                                         </block>\r
87                                                                     </outcome>\r
88                                                                     <outcome value='network-resource'>\r
89                                                                         <block atomic="true">\r
90                                                                             <set>\r
91                                                                                 <parameter name='tmp.domain-A.network-id' value="`$tmp.aai.src-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />\r
92                                                                             </set>\r
93                                                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
94                 resource="network-resource" \r
95                 key="network-resource.network-id = $tmp.domain-A.network-id \r
96                 AND depth = '0'"\r
97         pfx='tmp.aai.src-network-resource' local-only='false' >\r
98                                                                                 <outcome value='success'>\r
99                                                                                     <set>\r
100                                                                                         <parameter name='domain-A.network-id' value="`$tmp.aai.src-network-resource.network-id`" />\r
101                                                                                         <parameter name='domain-A.provider-id' value="`$tmp.aai.src-network-resource.provider-id`" />\r
102                                                                                         <parameter name='domain-A.client-id' value="`$tmp.aai.src-network-resource.client-id`" />\r
103                                                                                         <parameter name='domain-A.te-topo-id' value="`$tmp.aai.src-network-resource.te-topo-id`" />\r
104                                                                                         <parameter name='domain-A.network-type' value="`$tmp.aai.src-network-resource.network-type`" />\r
105                                                                                     </set>\r
106                                                                                 </outcome>\r
107                                                                             </get-resource>\r
108                                                                         </block>\r
109                                                                     </outcome>\r
110                                                                 </switch>\r
111                                                             </for>\r
112                                                         </block>\r
113                                                     </outcome>\r
114                                                     <outcome value='not-found'>\r
115                                                         <return status='failure'>\r
116                                                             <parameter name='ack-final' value='Y'/>\r
117                                                             <parameter name="error-code" value="500" />\r
118                                                             <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
119                                                         </return>\r
120                                                     </outcome>\r
121                                                     <outcome value='Other'>\r
122                                                         <return status='failure'>\r
123                                                             <parameter name='ack-final' value='Y'/>\r
124                                                             <parameter name="error-code" value="500" />\r
125                                                             <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
126                                                         </return>\r
127                                                     </outcome>\r
128                                                 </get-resource>\r
129                                             </outcome>\r
130                                             <outcome value='not-found'>\r
131                                                 <return status='failure'>\r
132                                                     <parameter name='ack-final' value='Y'/>\r
133                                                     <parameter name="error-code" value="500" />\r
134                                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
135                                                 </return>\r
136                                             </outcome>\r
137                                             <outcome value='Other'>\r
138                                                 <return status='failure'>\r
139                                                     <parameter name='ack-final' value='Y'/>\r
140                                                     <parameter name="error-code" value="500" />\r
141                                                     <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
142                                                 </return>\r
143                                             </outcome>\r
144                                         </get-resource>\r
145                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
146                 resource="p-interface" \r
147                 key="p-interface.interface-name = $tmp.dst-ltpId \r
148                 AND depth = '0'"\r
149         pfx='tmp.aai.dst-tp' local-only='false' >\r
150                                             <outcome value='success'>\r
151                                                 <set>\r
152                                                     <parameter name='tmp.dst-pnf-name' value="`$tmp.aai.dst-tp.relationship-list.relationship[0].relationship-data[0].relationship-value`" />\r
153                                                 </set>\r
154                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
155                 resource="pnf" \r
156                 key="pnf.pnf-name = $tmp.dst-pnf-name \r
157                 AND depth = '0'"\r
158         pfx='tmp.aai.dst-pnf' local-only='false' >\r
159                                                     <outcome value='success'>\r
160                                                         <block>\r
161                                                             <set>\r
162                                                                 <parameter name='domain-B.node-id' value="`$tmp.aai.dst-pnf.pnf-id`" />\r
163                                                                 <parameter name='domain-B.tpn' value='1' />\r
164                                                             </set>\r
165                                                             <for silentFailure='true' index='vidx' start='0' end='`$tmp.aai.dst-pnf.relationship-list.relationship_length`' >\r
166                                                                 <switch test='`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].related-to`'>\r
167                                                                     <outcome value='tunnel-termination-point'>\r
168                                                                         <block atomic="true">\r
169                                                                             <set>\r
170                                                                                 <parameter name='tmp.dst-ttp-id' value="`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />\r
171                                                                             </set>\r
172                                                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
173                 resource="tunnel-termination-point" \r
174                 key="tunnel-termination-point.ttp-id = $tmp.dst-ttp-id \r
175                 AND depth = '0'"\r
176         pfx='tmp.aai.dst-ttp' local-only='false' >\r
177                                                                                 <outcome value='success'>\r
178                                                                                     <set>\r
179                                                                                         <parameter name='domain-B.ttp-id' value="`$tmp.aai.dst-ttp.ttp-id`" />\r
180                                                                                     </set>\r
181                                                                                 </outcome>\r
182                                                                             </get-resource>\r
183                                                                         </block>\r
184                                                                     </outcome>\r
185                                                                     <outcome value='network-resource'>\r
186                                                                         <block atomic="true">\r
187                                                                             <set>\r
188                                                                                 <parameter name='tmp.domain-B.network-id' value="`$tmp.aai.dst-pnf.relationship-list.relationship[$vidx].relationship-data[0].relationship-value`" />\r
189                                                                             </set>\r
190                                                                             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
191                 resource="network-resource" \r
192                 key="network-resource.network-id = $tmp.domain-B.network-id \r
193                 AND depth = '0'"\r
194         pfx='tmp.aai.dst-network-resource' local-only='false' >\r
195                                                                                 <outcome value='success'>\r
196                                                                                     <set>\r
197                                                                                         <parameter name='domain-B.network-id' value="`$tmp.aai.dst-network-resource.network-id`" />\r
198                                                                                         <parameter name='domain-B.provider-id' value="`$tmp.aai.dst-network-resource.provider-id`" />\r
199                                                                                         <parameter name='domain-B.client-id' value="`$tmp.aai.dst-network-resource.client-id`" />\r
200                                                                                         <parameter name='domain-B.te-topo-id' value="`$tmp.aai.dst-network-resource.te-topo-id`" />\r
201                                                                                         <parameter name='domain-B.network-type' value="`$tmp.aai.dst-network-resource.network-type`" />\r
202                                                                                     </set>\r
203                                                                                 </outcome>\r
204                                                                             </get-resource>\r
205                                                                         </block>\r
206                                                                     </outcome>\r
207                                                                 </switch>\r
208                                                             </for>\r
209                                                         </block>\r
210                                                     </outcome>\r
211                                                     <outcome value='not-found'>\r
212                                                         <return status='failure'>\r
213                                                             <parameter name='ack-final' value='Y'/>\r
214                                                             <parameter name="error-code" value="500" />\r
215                                                             <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
216                                                         </return>\r
217                                                     </outcome>\r
218                                                     <outcome value='Other'>\r
219                                                         <return status='failure'>\r
220                                                             <parameter name='ack-final' value='Y'/>\r
221                                                             <parameter name="error-code" value="500" />\r
222                                                             <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
223                                                         </return>\r
224                                                     </outcome>\r
225                                                 </get-resource>\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                                         <break/>\r
243                                     </block>\r
244                                 </outcome>\r
245                             </switch>\r
246                         </outcome>\r
247                         <outcome value='not-found'>\r
248                             <return status='failure'>\r
249                                 <parameter name='ack-final' value='Y'/>\r
250                                 <parameter name="error-code" value="500" />\r
251                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
252                             </return>\r
253                         </outcome>\r
254                         <outcome value='Other'>\r
255                             <return status='failure'>\r
256                                 <parameter name='ack-final' value='Y'/>\r
257                                 <parameter name="error-code" value="500" />\r
258                                 <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`" />\r
259                             </return>\r
260                         </outcome>\r
261                     </get-resource>\r
262                 </block>\r
263             </for>\r
264         </block>\r
265     </method>\r
266 </service-logic>