Merge "ccvpn integration sdnc issue fix"
[sdnc/oam.git] / platform-logic / datachange / src / main / xml / DataChange_esr-thirdparty-sdnc-discovery.xml
1 <service-logic
2     xmlns='http://www.onap.org/sdnc/svclogic'
3     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>
4     <method rpc='esr-thirdparty-sdnc-discovery' mode='sync'>
5         <block atomic="true">
6             <switch test="`$data-change-notification-input.aai-event-trigger`">
7                 <outcome value='Update'>
8                     <block>
9                         <switch test="`$prop.sdncRestApi.type`">
10                             <outcome value='SOTN'>
11                                 <block atomic="true">
12                                     <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
13                                         <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
14                                         <parameter name='contextPrefix' value='prop' />
15                                     </execute>
16                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
17                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />
18                                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />
19                                         <parameter name="format" value="json"/>
20                                         <parameter name="httpMethod" value="post"/>
21                                         <parameter name="responsePrefix" value="token-result"/>
22                                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
23                                         <parameter name="trustStorePassword" value="adminadmin"/>
24                                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
25                                         <parameter name="keyStorePassword" value="adminadmin"/>
26                                         <outcome value='success'>
27                                             <set>
28                                                 <parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />
29                                             </set>
30                                         </outcome>
31                                         <outcome value='failure'>
32                                             <block></block>
33                                         </outcome>
34                                     </execute>
35                                     <switch test="`$prop.sdncRestApi.token_id`">
36                                         <outcome value=''>
37                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
38                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />
39                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
40                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
41                                                 <parameter name="format" value="json"/>
42                                                 <parameter name="httpMethod" value="get"/>
43                                                 <parameter name="responsePrefix" value="topology"/>
44                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
45                                                 <parameter name="trustStorePassword" value="adminadmin"/>
46                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
47                                                 <parameter name="keyStorePassword" value="adminadmin"/>
48                                                 <outcome value='failure'>
49                                                     <return status='failure'>
50                                                         <parameter name='ack-final' value='Y'/>
51                                                         <parameter name="error-code" value="500" />
52                                                         <parameter name="error-message" value="Error executing Create vpn rest api" />
53                                                     </return>
54                                                 </outcome>
55                                                 <outcome value='success'>
56                                                     <block atomic="true">
57                                                         <for index='nidx' start='0' end='`$topology.networks.network_length`' >
58                                                             <block>
59                                                                 <set>
60                                                                     <parameter name='network.' value='`$topology.networks.network[$nidx].`' />
61                                                                 </set>
62                                                                 <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>
63                                                             </block>
64                                                         </for>
65                                                     </block>
66                                                 </outcome>
67                                             </execute>
68                                         </outcome>
69                                         <outcome value='Other'>
70                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
71                                                 <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />
72                                                 <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
73                                                 <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
74                                                 <parameter name="format" value="json"/>
75                                                 <parameter name="httpMethod" value="get"/>
76                                                 <parameter name="responsePrefix" value="topology"/>
77                                                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
78                                                 <parameter name="trustStorePassword" value="adminadmin"/>
79                                                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
80                                                 <parameter name="keyStorePassword" value="adminadmin"/>
81                                                 <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />
82                                                 <outcome value='failure'>
83                                                     <return status='failure'>
84                                                         <parameter name='ack-final' value='Y'/>
85                                                         <parameter name="error-code" value="500" />
86                                                         <parameter name="error-message" value="Error executing Create vpn rest api" />
87                                                     </return>
88                                                 </outcome>
89                                                 <outcome value='success'>
90                                                     <block atomic="true">
91                                                         <for index='nidx' start='0' end='`$topology.networks.network_length`' >
92                                                             <block>
93                                                                 <set>
94                                                                     <parameter name='network.' value='`$topology.networks.network[$nidx].`' />
95                                                                 </set>
96                                                                 <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>
97                                                             </block>
98                                                         </for>
99                                                     </block>
100                                                 </outcome>
101                                             </execute>
102                                         </outcome>
103                                     </switch>
104                                 </block>
105                             </outcome>
106                             <outcome value='Other'>
107                                 <return status='failure'>
108                                     <parameter name='ack-final' value='Y'/>
109                                     <parameter name="error-code" value="500" />
110                                     <parameter name="error-message" value="`'Unsupported type = ' + $prop.sdncRestApi.type`" />
111                                 </return>
112                             </outcome>
113                         </switch>
114                     </block>
115                 </outcome>
116                 <outcome value='delete'>
117                     <block atomic="true"></block>
118                 </outcome>
119             </switch>
120         </block>
121     </method>
122 </service-logic>