aboutsummaryrefslogtreecommitdiffstats
path: root/platform-logic/generic-resource-api/src/main/xml/sotn_nni/GENERIC-RESOURCE-API_sotn-create-otn-tunnel.xml
blob: 4527b788dd67b8b4c24cbd81065c4bcae29bd73f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<service-logic
    xmlns='http://www.onap.org/sdnc/svclogic'
    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}'>
    <method rpc='sotn-create-otn-tunnel' mode='sync'>
        <block atomic="true">
            <switch test='`$oof.vpn.access-provider-id`'>
                <outcome value='`$domain-A.provider-id`'>

                    <block atomic="true">
                        <set>
                            <parameter name='tmp.otn-domain.' value='`$domain-A.`' />
                        </set>
                    </block>
                </outcome>
                <outcome value='`$domain-B.provider-id`'>

                    <block atomic="true">
                        <set>
                            <parameter name='$tmp.otn-domain.' value='`$domain-B.`' />
                        </set>
                    </block>
                </outcome>
            </switch>
            <switch test='`$oof.vpn.access-node-id`'>
                <outcome value='`$oof.vpns[0].access-node-id`'>

                    <block atomic="true">
                        <set>
                            <parameter name='ietf-te_te.tunnels.tunnel[0].source' value='`$oof.vpn.access-node-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].destination' value='`$otn-domain.node-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].dst-ttp-id' value='`$otn-domain.ttp-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].ietf-otn-tunnel_dst-tpn' value='`$otn-domain.tpn`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].name' value='otntunnel-22' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.client-id' value='`$otn-domain.client-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.provider-id' value='`$otn-domain.provider-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.topology-id' value='`$otn-domain.te-topo-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].source' value='`$oof.vpn.access-node-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].destination' value='`$otn-domain.node-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].name' value='tptunnel-22' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].dependency-tunnels.dependency-tunnel[0].name' value='otntunnel-22' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.client-id' value='`$oof.vpn.access-client-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.provider-id' value='`$oof.vpn.access-provider-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.topology-id' value='`$oof.vpn.access-topology-id`' />
                        </set>
                    </block>
                </outcome>
                <outcome value='`$oof.vpns[$oof.vpns_length].access-node-id`'>

                    <block atomic="true">
                        <set>
                            <parameter name='ietf-te_te.tunnels.tunnel[0].destination' value='`$oof.vpn.access-node-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].source' value='`$otn-domain.node-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].src-ttp-id' value='`$otn-domain.ttp-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].ietf-otn-tunnel_src-tpn' value='`$otn-domain.tpn`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].name' value='otntunnel-22' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.client-id' value='`$otn-domain.client-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.provider-id' value='`$otn-domain.provider-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[0].te-topology-identifier.topology-id' value='`$otn-domain.te-topo-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].destination' value='`$oof.vpn.access-node-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].source' value='`$otn-domain.node-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].name' value='tptunnel-22' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].dependency-tunnels.dependency-tunnel[0].name' value='otntunnel-22' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.client-id' value='`$oof.vpn.access-client-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.provider-id' value='`$oof.vpn.access-provider-id`' />
                            <parameter name='ietf-te_te.tunnels.tunnel[1].te-topology-identifier.topology-id' value='`$oof.vpn.access-topology-id`' />
                        </set>
                    </block>
                </outcome>
            </switch>
            <switch test="`$prop.sdncRestApi.token_id`">
                <outcome value=''>
                    <execute plugin='org.onap.ccsdk.sli.plugins.restconfapicall.RestconfApiCallNode' method='sendRequest' >
                        <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-te:te'`" />
                        <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
                        <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
                        <parameter name="format" value="json"/>
                        <parameter name="httpMethod" value="patch"/>
                        <parameter name='dirPath' value="/opt/sdnc/restapi/yang" />
                        <parameter name="responsePrefix" value="vpn-result"/>
                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
                        <parameter name="trustStorePassword" value="adminadmin"/>
                        <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
                        <parameter name="keyStorePassword" value="adminadmin"/>
                        <outcome value='failure'>
                            <return status='failure'>
                                <parameter name='ack-final' value='Y'/>
                                <parameter name="error-code" value="500" />
                                <parameter name="error-message" value="Error executing Create vpn rest api" />
                            </return>
                        </outcome>
                        <outcome value='success'>
                            <block atomic="true"></block>
                        </outcome>
                    </execute>
                </outcome>
                <outcome value='Other'>
                    <execute plugin='org.onap.ccsdk.sli.plugins.restconfapicall.RestconfApiCallNode' method='sendRequest' >
                        <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-te:te'`" />
                        <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
                        <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
                        <parameter name="format" value="json"/>
                        <parameter name="httpMethod" value="patch"/>
                        <parameter name='dirPath' value="/opt/sdnc/restapi/yang" />
                        <parameter name="responsePrefix" value="vpn-result"/>
                        <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
                        <parameter name="trustStorePassword" value="adminadmin"/>
                        <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
                        <parameter name="keyStorePassword" value="adminadmin"/>
                        <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
                        <outcome value='failure'>
                            <return status='failure'>
                                <parameter name='ack-final' value='Y'/>
                                <parameter name="error-code" value="500" />
                                <parameter name="error-message" value="Error executing Create vpn rest api" />
                            </return>
                        </outcome>
                        <outcome value='success'>
                            <block atomic="true"></block>
                        </outcome>
                    </execute>
                </outcome>
            </switch>
        </block>
    </method>
</service-logic>