Adding DGs to support Transport Slicing operations.
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / trans_slicing / GENERIC-RESOURCE-API_tsli-vnf-topology-operation-trans-slice-activate.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='tsli-vnf-topology-operation-trans-slice-activate' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$service-data.vnfs.vnf_length`'>\r
7                 <outcome value='0'>\r
8                     <return status='failure'>\r
9                         <parameter name='ack-final' value='Y'/>\r
10                         <parameter name="error-code" value="500" />\r
11                         <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />\r
12                     </return>\r
13                 </outcome>\r
14                 <outcome value=''>\r
15                     <return status='failure'>\r
16                         <parameter name='ack-final' value='Y'/>\r
17                         <parameter name="error-code" value="500" />\r
18                         <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />\r
19                     </return>\r
20                 </outcome>\r
21                 <outcome value='Other'>\r
22                     <block atomic="true">\r
23                         <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
24                             <block>\r
25                                 <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">\r
26                                     <outcome value='true'>\r
27                                         <set>\r
28                                             <parameter name='tmp.vidx' value='`$vidx`' />\r
29                                             <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />\r
30                                         </set>\r
31                                     </outcome>\r
32                                 </switch>\r
33                             </block>\r
34                         </for>\r
35                     </block>\r
36                 </outcome>\r
37             </switch>\r
38             <switch test='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status`'>\r
39                 <outcome value='Created'>\r
40                     <block atomic="true"></block>\r
41                 </outcome>\r
42                 <outcome value='Other'>\r
43                     <return status='failure'>\r
44                         <parameter name='ack-final' value='Y'/>\r
45                         <parameter name="error-code" value="500" />\r
46                         <parameter name="error-message" value="`'VNF is not in appropriate state for activate. Current state is ' + $service-data.vnfs.vnf[$tmp.nidx].vnf-data.vnf-level-oper-status.order-status`" />\r
47                     </return>\r
48                 </outcome>\r
49             </switch>\r
50             <set>\r
51                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\r
52                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\r
53                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\r
54             </set>\r
55             <set>\r
56                 <parameter name='vnfId' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
57                 <parameter name="vnf-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vnf-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $vnf-topology-operation-input.vnf-information.vnf-id  + '/vnf-data/'` " />\r
58             </set>\r
59             <set>\r
60                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status' value='Active' />\r
61                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\r
62                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\r
63             </set>\r
64             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
65         resource="generic-vnf"   \r
66                 key="generic-vnf.vnf-id = $vnfId" >\r
67                 <parameter name="orchestration-status" value="Active" />\r
68                 <parameter name="vnf-type" value="some vnf-type" />\r
69             </update>\r
70             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
71         resource="service-instance"\r
72         key='service-instance.service-instance-id = $service-data.service-information.service-instance-id\r
73          AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \r
74          AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type'\r
75         local-only="false"\r
76         force="true" pfx="tmp.aai.service-instance">\r
77                 <outcome value='success'>\r
78                     <for index='rel-index' start='0' end='`$tmp.aai.service-instance.relationship-list.relationship_length`' >\r
79                         <switch test='`$tmp.aai.service-instance.relationship-list.relationship[$rel-index].related-to`'>\r
80                             <outcome value='connectivity'>\r
81                                 <switch test="`$rel-index == 0`">\r
82                                     <outcome value='true'>\r
83                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
84         resource="connectivity"\r
85             key="connectivity.connectivity-id = $tmp.aai.service-instance.relationship-list.relationship[0].relationship-data[0].relationship-value"\r
86                 local-only="false" \r
87                 pfx="tmp.aai.connectivityA" >\r
88                                             <outcome value='success'>\r
89                                                 <block atomic="true">\r
90                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
91         resource="vpn-binding"\r
92             key="vpn-binding.vpn-id = $tmp.aai.connectivityA.relationship-list.relationship[0].relationship-data[0].relationship-value"\r
93                 local-only="false" \r
94                 pfx="tmp.aai.vpn-bindingA" >\r
95                                                         <outcome value='success'>\r
96                                                             <block atomic="true">\r
97                                                                 <set>\r
98                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].source' value='`$tmp.aai.vpn-bindingA.access-node-id`' />\r
99                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].destination' value='`$tmp.aai.vpn-bindingA.dst-access-node-id`' />\r
100                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].dst-ttp-id' value='`$tmp.aai.vpn-bindingA.dst-access-ltp-id`' />\r
101                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].ietf-otn-tunnel_dst-tpn' value='' />\r
102                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].name' value='`$tmp.aai.vpn-bindingA.vpn-name`' />\r
103                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.client-id' value='`$tmp.aai.vpn-bindingA.access-client-id`' />\r
104                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.provider-id' value='`$tmp.aai.vpn-bindingA.access-provider-id`' />\r
105                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.topology-id' value='`$tmp.aai.vpn-bindingA.access-topology-id`' />\r
106                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].source' value='`$tmp.aai.vpn-bindingA.access-node-id`' />\r
107                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].destination' value='`$tmp.aai.vpn-bindingA.dst-access-node-id`' />\r
108                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].name' value='tptunnel-22' />\r
109                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].dependency-tunnels.dependency-tunnel[0].name' value='`$tmp.aai.vpn-bindingA.vpn-name`' />\r
110                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.client-id' value='`$tmp.aai.vpn-bindingA.access-client-id`' />\r
111                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.provider-id' value='`$tmp.aai.vpn-bindingA.access-provider-id`' />\r
112                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.topology-id' value='`$tmp.aai.vpn-bindingA.access-topology-id`' />\r
113                                                                 </set>\r
114                                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
115                                                                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-otn-tunnel-service.json'`" />\r
116                                                                     <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-te:te'`" />\r
117                                                                     <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
118                                                                     <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
119                                                                     <parameter name="format" value="json"/>\r
120                                                                     <parameter name="httpMethod" value="patch"/>\r
121                                                                     <parameter name='dirPath' value="/opt/onap/sdnc/restconfapi/yang" />\r
122                                                                     <!--<parameter name='dirPath' value="/opt/sdnc/restapi/yang" />-->\r
123                                                                     <parameter name="responsePrefix" value="vpn-result"/>\r
124                                                                     <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
125                                                                     <parameter name="trustStorePassword" value="adminadmin"/>\r
126                                                                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
127                                                                     <parameter name="keyStorePassword" value="adminadmin"/>\r
128                                                                     <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
129                                                                     <outcome value='failure'>\r
130                                                                         <return status='failure'>\r
131                                                                             <parameter name='ack-final' value='Y'/>\r
132                                                                             <parameter name="error-code" value="500" />\r
133                                                                             <parameter name="error-message" value="Error executing Create vpn rest api" />\r
134                                                                         </return>\r
135                                                                     </outcome>\r
136                                                                     <outcome value='success'>\r
137                                                                         <block atomic="true"></block>\r
138                                                                     </outcome>\r
139                                                                 </execute>\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.l3vpn.pe1_id`" />\r
147                                                             </return>\r
148                                                         </outcome>\r
149                                                         <outcome value='failure'>\r
150                                                             <return status='failure'>\r
151                                                                 <parameter name='error-code' value='' />\r
152                                                                 <parameter name='error-message' value='' />\r
153                                                             </return>\r
154                                                         </outcome>\r
155                                                     </get-resource>\r
156                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
157                 resource="esr-thirdparty-sdnc" \r
158                 key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id AND \r
159                      depth = '1'"\r
160         pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\r
161                                                         <outcome value='success'>\r
162                                                             <set>\r
163                                                                 <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />\r
164                                                                 <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />\r
165                                                                 <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />\r
166                                                                 <!--<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >-->\r
167                                                                 <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />-->\r
168                                                                 <!--<parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />-->\r
169                                                                 <!--<parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />-->\r
170                                                                 <!--<parameter name="format" value="json"/>-->\r
171                                                                 <!--<parameter name="httpMethod" value="get"/>-->\r
172                                                                 <!--<parameter name="responsePrefix" value="topology"/>-->\r
173                                                                 <!--<parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>-->\r
174                                                                 <!--<parameter name="trustStorePassword" value="adminadmin"/>-->\r
175                                                                 <!--<parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>-->\r
176                                                                 <!--<parameter name="keyStorePassword" value="adminadmin"/>-->\r
177                                                             </set>\r
178                                                         </outcome>\r
179                                                         <outcome value='not-found'>\r
180                                                             <return status='failure'>\r
181                                                                 <parameter name='ack-final' value='Y'/>\r
182                                                                 <parameter name="error-code" value="500" />\r
183                                                                 <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
184                                                             </return>\r
185                                                         </outcome>\r
186                                                         <outcome value='Other'>\r
187                                                             <return status='failure'>\r
188                                                                 <parameter name='ack-final' value='Y'/>\r
189                                                                 <parameter name="error-code" value="500" />\r
190                                                                 <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
191                                                             </return>\r
192                                                         </outcome>\r
193                                                     </get-resource>\r
194                                                     <set>\r
195                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].access-provider-id' value='`$oof.vpn.access-provider-id`' />\r
196                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].access-client-id' value='`$oof.vpn.access-client-id`' />\r
197                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].access-topology-id' value='`$oof.vpn.access-topology-id`' />\r
198                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].access-node-id' value='`$oof.vpn.access-node-id`' />\r
199                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].access-ltp-id' value='`$oof.vpn.src-access-ltp-id`' />\r
200                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].access-node-id' value='`$oof.vpn.access-node-id`' />\r
201                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].access-ltp-id' value='`$oof.vpn.dst-access-ltp-id`' />\r
202                                                         <parameter name='ietf-eth-tran-service_etht-svc.globals.etht-svc-bandwidth-profiles[0].bandwidth-profile-type' value='ietf-eth-tran-types:mef-10-bwp' />\r
203                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-type' value='ietf-eth-tran-types:p2p-svc' />\r
204                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].admin-status' value='ietf-te-types:tunnel-state-up' />\r
205                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].access-port-id' value='0' />\r
206                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].service-classification-type' value='ietf-eth-tran-types:port-classification' />\r
207                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].access-port-id' value='1' />\r
208                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].service-classification-type' value='ietf-eth-tran-types:port-classification' />\r
209                                                     </set>\r
210                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
211                                                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-eth-tran-service:etht-svc'`" />\r
212                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-ethernet-service.json'`" />\r
213                                                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
214                                                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
215                                                         <parameter name="format" value="json"/>\r
216                                                         <parameter name="httpMethod" value="patch"/>\r
217                                                         <parameter name='dirPath' value="/opt/onap/sdnc/restconfapi/yang" />\r
218                                                         <parameter name="responsePrefix" value="vpn-result"/>\r
219                                                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
220                                                         <parameter name="trustStorePassword" value="adminadmin"/>\r
221                                                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
222                                                         <parameter name="keyStorePassword" value="adminadmin"/>\r
223                                                         <outcome value='failure'>\r
224                                                             <return status='failure'>\r
225                                                                 <parameter name='ack-final' value='Y'/>\r
226                                                                 <parameter name="error-code" value="500" />\r
227                                                                 <parameter name="error-message" value="Error executing Create vpn rest api" />\r
228                                                             </return>\r
229                                                         </outcome>\r
230                                                         <outcome value='success'>\r
231                                                             <block atomic="true">\r
232                                                                 <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding' \r
233       key='vpn-binding.vpn-id = $tmp.vpnName' >\r
234                                                                     <parameter name='vpn-id' value='`$tmp.vpnName`' />\r
235                                                                     <parameter name='vpn-name' value='`$tmp.vpnName`' />\r
236                                                                     <parameter name='operational-status' value='Activated' />\r
237                                                                 </update>\r
238                                                                 <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity' \r
239       key='connectivity.connectivity-id = $prop.connectivity-domainA-uuid'>\r
240                                                                     <parameter name='connectivity-id' value='`$prop.connectivity-domainA-uuid`' />\r
241                                                                     <parameter name='operational-status' value='Activated' />\r
242                                                                 </update>\r
243                                                             </block>\r
244                                                         </outcome>\r
245                                                     </execute>\r
246                                                 </block>\r
247                                             </outcome>\r
248                                             <outcome value='not-found'>\r
249                                                 <return status='failure'>\r
250                                                     <parameter name='ack-final' value='Y'/>\r
251                                                     <parameter name="error-code" value="500" />\r
252                                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
253                                                 </return>\r
254                                             </outcome>\r
255                                             <outcome value='failure'>\r
256                                                 <return status='failure'>\r
257                                                     <parameter name='error-code' value='' />\r
258                                                     <parameter name='error-message' value='' />\r
259                                                 </return>\r
260                                             </outcome>\r
261                                         </get-resource>\r
262                                     </outcome>\r
263                                     <outcome value='false'>\r
264                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
265         resource="connectivity"\r
266             key="connectivity.connectivity-id = $tmp.aai.service-instance.relationship-list.relationship[1].relationship-data[0].relationship-value"\r
267                 local-only="false" \r
268                 pfx="tmp.aai.connectivityB" >\r
269                                             <outcome value='success'>\r
270                                                 <block atomic="true">\r
271                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
272         resource="vpn-binding"\r
273             key="vpn-binding.vpn-id = $tmp.aai.connectivityB.relationship-list.relationship[0].relationship-data[0].relationship-value"\r
274                 local-only="false" \r
275                 pfx="tmp.aai.vpn-bindingB" >\r
276                                                         <outcome value='success'>\r
277                                                             <block atomic="true">\r
278                                                                 <set>\r
279                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].source' value='`$tmp.aai.vpn-bindingB.access-node-id`' />\r
280                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].destination' value='`$tmp.aai.vpn-bindingB.dst-access-node-id`' />\r
281                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].dst-ttp-id' value='`$tmp.aai.vpn-bindingB.dst-access-ltp-id`' />\r
282                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].ietf-otn-tunnel_dst-tpn' value='' />\r
283                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].name' value='`$tmp.aai.vpn-bindingB.vpn-name`' />\r
284                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.client-id' value='`$tmp.aai.vpn-bindingB.access-client-id`' />\r
285                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.provider-id' value='`$tmp.aai.vpn-bindingB.access-provider-id`' />\r
286                                                                     <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.topology-id' value='`$tmp.aai.vpn-bindingB.access-topology-id`' />\r
287                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].source' value='`$tmp.aai.vpn-bindingB.access-node-id`' />\r
288                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].destination' value='`$tmp.aai.vpn-bindingB.dst-access-node-id`' />\r
289                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].name' value='tptunnel-22' />\r
290                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].dependency-tunnels.dependency-tunnel[0].name' value='`$tmp.aai.vpn-bindingB.vpn-name`' />\r
291                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.client-id' value='`$tmp.aai.vpn-bindingB.access-client-id`' />\r
292                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.provider-id' value='`$tmp.aai.vpn-bindingB.access-provider-id`' />\r
293                                                                     <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.topology-id' value='`$tmp.aai.vpn-bindingB.access-topology-id`' />\r
294                                                                 </set>\r
295                                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
296                                                                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-otn-tunnel-service.json'`" />\r
297                                                                     <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-te:te'`" />\r
298                                                                     <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
299                                                                     <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
300                                                                     <parameter name="format" value="json"/>\r
301                                                                     <parameter name="httpMethod" value="patch"/>\r
302                                                                     <parameter name='dirPath' value="/opt/onap/sdnc/restconfapi/yang" />\r
303                                                                     <!--<parameter name='dirPath' value="/opt/sdnc/restapi/yang" />-->\r
304                                                                     <parameter name="responsePrefix" value="vpn-result"/>\r
305                                                                     <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
306                                                                     <parameter name="trustStorePassword" value="adminadmin"/>\r
307                                                                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
308                                                                     <parameter name="keyStorePassword" value="adminadmin"/>\r
309                                                                     <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
310                                                                     <outcome value='failure'>\r
311                                                                         <return status='failure'>\r
312                                                                             <parameter name='ack-final' value='Y'/>\r
313                                                                             <parameter name="error-code" value="500" />\r
314                                                                             <parameter name="error-message" value="Error executing Create vpn rest api" />\r
315                                                                         </return>\r
316                                                                     </outcome>\r
317                                                                     <outcome value='success'>\r
318                                                                         <block atomic="true"></block>\r
319                                                                     </outcome>\r
320                                                                 </execute>\r
321                                                             </block>\r
322                                                         </outcome>\r
323                                                         <outcome value='not-found'>\r
324                                                             <return status='failure'>\r
325                                                                 <parameter name='ack-final' value='Y'/>\r
326                                                                 <parameter name="error-code" value="500" />\r
327                                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
328                                                             </return>\r
329                                                         </outcome>\r
330                                                         <outcome value='failure'>\r
331                                                             <return status='failure'>\r
332                                                                 <parameter name='error-code' value='' />\r
333                                                                 <parameter name='error-message' value='' />\r
334                                                             </return>\r
335                                                         </outcome>\r
336                                                     </get-resource>\r
337                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
338                 resource="esr-thirdparty-sdnc" \r
339                 key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id AND \r
340                      depth = '1'"\r
341         pfx='tmp.aai.esr-thirdparty-sdnc' local-only='false' >\r
342                                                         <outcome value='success'>\r
343                                                             <set>\r
344                                                                 <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />\r
345                                                                 <parameter name='prop.sdncRestApi.thirdpartySdnc.user' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />\r
346                                                                 <parameter name='prop.sdncRestApi.thirdpartySdnc.password' value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />\r
347                                                                 <!--<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >-->\r
348                                                                 <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />-->\r
349                                                                 <!--<parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />-->\r
350                                                                 <!--<parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />-->\r
351                                                                 <!--<parameter name="format" value="json"/>-->\r
352                                                                 <!--<parameter name="httpMethod" value="get"/>-->\r
353                                                                 <!--<parameter name="responsePrefix" value="topology"/>-->\r
354                                                                 <!--<parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>-->\r
355                                                                 <!--<parameter name="trustStorePassword" value="adminadmin"/>-->\r
356                                                                 <!--<parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>-->\r
357                                                                 <!--<parameter name="keyStorePassword" value="adminadmin"/>-->\r
358                                                             </set>\r
359                                                         </outcome>\r
360                                                         <outcome value='not-found'>\r
361                                                             <return status='failure'>\r
362                                                                 <parameter name='ack-final' value='Y'/>\r
363                                                                 <parameter name="error-code" value="500" />\r
364                                                                 <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
365                                                             </return>\r
366                                                         </outcome>\r
367                                                         <outcome value='Other'>\r
368                                                             <return status='failure'>\r
369                                                                 <parameter name='ack-final' value='Y'/>\r
370                                                                 <parameter name="error-code" value="500" />\r
371                                                                 <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />\r
372                                                             </return>\r
373                                                         </outcome>\r
374                                                     </get-resource>\r
375                                                     <set>\r
376                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].access-provider-id' value='`$oof.vpn.access-provider-id`' />\r
377                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].access-client-id' value='`$oof.vpn.access-client-id`' />\r
378                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].access-topology-id' value='`$oof.vpn.access-topology-id`' />\r
379                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].access-node-id' value='`$oof.vpn.access-node-id`' />\r
380                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].access-ltp-id' value='`$oof.vpn.src-access-ltp-id`' />\r
381                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].access-node-id' value='`$oof.vpn.access-node-id`' />\r
382                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].access-ltp-id' value='`$oof.vpn.dst-access-ltp-id`' />\r
383                                                         <parameter name='ietf-eth-tran-service_etht-svc.globals.etht-svc-bandwidth-profiles[0].bandwidth-profile-type' value='ietf-eth-tran-types:mef-10-bwp' />\r
384                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-type' value='ietf-eth-tran-types:p2p-svc' />\r
385                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].admin-status' value='ietf-te-types:tunnel-state-up' />\r
386                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].access-port-id' value='0' />\r
387                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[0].service-classification-type' value='ietf-eth-tran-types:port-classification' />\r
388                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].access-port-id' value='1' />\r
389                                                         <parameter name='ietf-eth-tran-service_etht-svc.etht-svc-instances[0].etht-svc-access-ports[1].service-classification-type' value='ietf-eth-tran-types:port-classification' />\r
390                                                     </set>\r
391                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
392                                                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-eth-tran-service:etht-svc'`" />\r
393                                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-ethernet-service.json'`" />\r
394                                                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
395                                                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
396                                                         <parameter name="format" value="json"/>\r
397                                                         <parameter name="httpMethod" value="patch"/>\r
398                                                         <parameter name='dirPath' value="/opt/onap/sdnc/restconfapi/yang" />\r
399                                                         <parameter name="responsePrefix" value="vpn-result"/>\r
400                                                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
401                                                         <parameter name="trustStorePassword" value="adminadmin"/>\r
402                                                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
403                                                         <parameter name="keyStorePassword" value="adminadmin"/>\r
404                                                         <outcome value='failure'>\r
405                                                             <return status='failure'>\r
406                                                                 <parameter name='ack-final' value='Y'/>\r
407                                                                 <parameter name="error-code" value="500" />\r
408                                                                 <parameter name="error-message" value="Error executing Create vpn rest api" />\r
409                                                             </return>\r
410                                                         </outcome>\r
411                                                         <outcome value='success'>\r
412                                                             <block atomic="true">\r
413                                                                 <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding' \r
414       key='vpn-binding.vpn-id = $tmp.vpnName' >\r
415                                                                     <parameter name='vpn-id' value='`$tmp.vpnName`' />\r
416                                                                     <parameter name='vpn-name' value='`$tmp.vpnName`' />\r
417                                                                     <parameter name='operational-status' value='Activated' />\r
418                                                                 </update>\r
419                                                                 <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity' \r
420       key='connectivity.connectivity-id = $prop.connectivity-domainA-uuid'>\r
421                                                                     <parameter name='connectivity-id' value='`$prop.connectivity-domainA-uuid`' />\r
422                                                                     <parameter name='operational-status' value='Activated' />\r
423                                                                 </update>\r
424                                                             </block>\r
425                                                         </outcome>\r
426                                                     </execute>\r
427                                                 </block>\r
428                                             </outcome>\r
429                                             <outcome value='not-found'>\r
430                                                 <return status='failure'>\r
431                                                     <parameter name='ack-final' value='Y'/>\r
432                                                     <parameter name="error-code" value="500" />\r
433                                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
434                                                 </return>\r
435                                             </outcome>\r
436                                             <outcome value='failure'>\r
437                                                 <return status='failure'>\r
438                                                     <parameter name='error-code' value='' />\r
439                                                     <parameter name='error-message' value='' />\r
440                                                 </return>\r
441                                             </outcome>\r
442                                         </get-resource>\r
443                                     </outcome>\r
444                                 </switch>\r
445                             </outcome>\r
446                         </switch>\r
447                     </for>\r
448                 </outcome>\r
449                 <outcome value='not-found'>\r
450                     <return status='failure'>\r
451                         <parameter name='ack-final' value='Y'/>\r
452                         <parameter name="error-code" value="500" />\r
453                         <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
454                     </return>\r
455                 </outcome>\r
456                 <outcome value='failure'>\r
457                     <return status='failure'>\r
458                         <parameter name='error-code' value='' />\r
459                         <parameter name='error-message' value='' />\r
460                     </return>\r
461                 </outcome>\r
462             </get-resource>\r
463             <return status='success'>\r
464                 <parameter name="ack-final-indicator" value="Y" />\r
465                 <parameter name="error-code" value="200" />\r
466                 <parameter name="error-message" value="`$error-message`" />\r
467             </return>\r
468         </block>\r
469     </method>\r
470 </service-logic>