4527b788dd67b8b4c24cbd81065c4bcae29bd73f
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / sotn_nni / GENERIC-RESOURCE-API_sotn-create-otn-tunnel.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-create-otn-tunnel' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$oof.vpn.access-provider-id`'>\r
7                 <outcome value='`$domain-A.provider-id`'>\r
8 \ 1\r
9                     <block atomic="true">\r
10                         <set>\r
11                             <parameter name='tmp.otn-domain.' value='`$domain-A.`' />\r
12                         </set>\r
13                     </block>\r
14                 </outcome>\r
15                 <outcome value='`$domain-B.provider-id`'>\r
16 \ 1\r
17                     <block atomic="true">\r
18                         <set>\r
19                             <parameter name='$tmp.otn-domain.' value='`$domain-B.`' />\r
20                         </set>\r
21                     </block>\r
22                 </outcome>\r
23             </switch>\r
24             <switch test='`$oof.vpn.access-node-id`'>\r
25                 <outcome value='`$oof.vpns[0].access-node-id`'>\r
26 \ 1\r
27                     <block atomic="true">\r
28                         <set>\r
29                             <parameter name='ietf-te_te.tunnels.tunnel[0].source' value='`$oof.vpn.access-node-id`' />\r
30                             <parameter name='ietf-te_te.tunnels.tunnel[0].destination' value='`$otn-domain.node-id`' />\r
31                             <parameter name='ietf-te_te.tunnels.tunnel[0].dst-ttp-id' value='`$otn-domain.ttp-id`' />\r
32                             <parameter name='ietf-te_te.tunnels.tunnel[0].ietf-otn-tunnel_dst-tpn' value='`$otn-domain.tpn`' />\r
33                             <parameter name='ietf-te_te.tunnels.tunnel[0].name' value='otntunnel-22' />\r
34                             <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.client-id' value='`$otn-domain.client-id`' />\r
35                             <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.provider-id' value='`$otn-domain.provider-id`' />\r
36                             <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.topology-id' value='`$otn-domain.te-topo-id`' />\r
37                             <parameter name='ietf-te_te.tunnels.tunnel[1].source' value='`$oof.vpn.access-node-id`' />\r
38                             <parameter name='ietf-te_te.tunnels.tunnel[1].destination' value='`$otn-domain.node-id`' />\r
39                             <parameter name='ietf-te_te.tunnels.tunnel[1].name' value='tptunnel-22' />\r
40                             <parameter name='ietf-te_te.tunnels.tunnel[1].dependency-tunnels.dependency-tunnel[0].name' value='otntunnel-22' />\r
41                             <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.client-id' value='`$oof.vpn.access-client-id`' />\r
42                             <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.provider-id' value='`$oof.vpn.access-provider-id`' />\r
43                             <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.topology-id' value='`$oof.vpn.access-topology-id`' />\r
44                         </set>\r
45                     </block>\r
46                 </outcome>\r
47                 <outcome value='`$oof.vpns[$oof.vpns_length].access-node-id`'>\r
48 \ 1\r
49                     <block atomic="true">\r
50                         <set>\r
51                             <parameter name='ietf-te_te.tunnels.tunnel[0].destination' value='`$oof.vpn.access-node-id`' />\r
52                             <parameter name='ietf-te_te.tunnels.tunnel[0].source' value='`$otn-domain.node-id`' />\r
53                             <parameter name='ietf-te_te.tunnels.tunnel[0].src-ttp-id' value='`$otn-domain.ttp-id`' />\r
54                             <parameter name='ietf-te_te.tunnels.tunnel[0].ietf-otn-tunnel_src-tpn' value='`$otn-domain.tpn`' />\r
55                             <parameter name='ietf-te_te.tunnels.tunnel[0].name' value='otntunnel-22' />\r
56                             <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.client-id' value='`$otn-domain.client-id`' />\r
57                             <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.provider-id' value='`$otn-domain.provider-id`' />\r
58                             <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.topology-id' value='`$otn-domain.te-topo-id`' />\r
59                             <parameter name='ietf-te_te.tunnels.tunnel[1].destination' value='`$oof.vpn.access-node-id`' />\r
60                             <parameter name='ietf-te_te.tunnels.tunnel[1].source' value='`$otn-domain.node-id`' />\r
61                             <parameter name='ietf-te_te.tunnels.tunnel[1].name' value='tptunnel-22' />\r
62                             <parameter name='ietf-te_te.tunnels.tunnel[1].dependency-tunnels.dependency-tunnel[0].name' value='otntunnel-22' />\r
63                             <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.client-id' value='`$oof.vpn.access-client-id`' />\r
64                             <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.provider-id' value='`$oof.vpn.access-provider-id`' />\r
65                             <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.topology-id' value='`$oof.vpn.access-topology-id`' />\r
66                         </set>\r
67                     </block>\r
68                 </outcome>\r
69             </switch>\r
70             <switch test="`$prop.sdncRestApi.token_id`">\r
71                 <outcome value=''>\r
72                     <execute plugin='org.onap.ccsdk.sli.plugins.restconfapicall.RestconfApiCallNode' method='sendRequest' >\r
73                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-te:te'`" />\r
74                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
75                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
76                         <parameter name="format" value="json"/>\r
77                         <parameter name="httpMethod" value="patch"/>\r
78                         <parameter name='dirPath' value="/opt/sdnc/restapi/yang" />\r
79                         <parameter name="responsePrefix" value="vpn-result"/>\r
80                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
81                         <parameter name="trustStorePassword" value="adminadmin"/>\r
82                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
83                         <parameter name="keyStorePassword" value="adminadmin"/>\r
84                         <outcome value='failure'>\r
85                             <return status='failure'>\r
86                                 <parameter name='ack-final' value='Y'/>\r
87                                 <parameter name="error-code" value="500" />\r
88                                 <parameter name="error-message" value="Error executing Create vpn rest api" />\r
89                             </return>\r
90                         </outcome>\r
91                         <outcome value='success'>\r
92                             <block atomic="true"></block>\r
93                         </outcome>\r
94                     </execute>\r
95                 </outcome>\r
96                 <outcome value='Other'>\r
97                     <execute plugin='org.onap.ccsdk.sli.plugins.restconfapicall.RestconfApiCallNode' method='sendRequest' >\r
98                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-te:te'`" />\r
99                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
100                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
101                         <parameter name="format" value="json"/>\r
102                         <parameter name="httpMethod" value="patch"/>\r
103                         <parameter name='dirPath' value="/opt/sdnc/restapi/yang" />\r
104                         <parameter name="responsePrefix" value="vpn-result"/>\r
105                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>\r
106                         <parameter name="trustStorePassword" value="adminadmin"/>\r
107                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
108                         <parameter name="keyStorePassword" value="adminadmin"/>\r
109                         <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
110                         <outcome value='failure'>\r
111                             <return status='failure'>\r
112                                 <parameter name='ack-final' value='Y'/>\r
113                                 <parameter name="error-code" value="500" />\r
114                                 <parameter name="error-message" value="Error executing Create vpn rest api" />\r
115                             </return>\r
116                         </outcome>\r
117                         <outcome value='success'>\r
118                             <block atomic="true"></block>\r
119                         </outcome>\r
120                     </execute>\r
121                 </outcome>\r
122             </switch>\r
123         </block>\r
124     </method>\r
125 </service-logic>