f6cd4d194219ba7ec352370fdfbe028f71232048
[sdnc/oam.git] / platform-logic / datachange / src / main / xml / DataChange_esr-thirdparty-sdnc-discovery.xml
1 <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="DataChange" version="${project.version}">\r
2   <method rpc="esr-thirdparty-sdnc-discovery" mode="sync"> \r
3     <block atomic="true"> \r
4       <switch test="`$prop.sdncRestApi.vendor == 'ZTE'`"> \r
5         <outcome value="false"> \r
6           <switch test="`$data-change-notification-input.aai-event-trigger`"> \r
7             <outcome value="Update"> \r
8               <block> \r
9                 <switch test="`$prop.sdncRestApi.type`"> \r
10                   <outcome value="SOTN"> \r
11                     <block atomic="true">\r
12                       <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties"> \r
13                         <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties"/>  \r
14                         <parameter name="contextPrefix" value="prop"/> \r
15                       </execute>\r
16                       <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> \r
17                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`"/>  \r
18                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`"/>  \r
19                         <parameter name="format" value="json"/>  \r
20                         <parameter name="httpMethod" value="post"/>  \r
21                         <parameter name="responsePrefix" value="token-result"/>  \r
22                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>  \r
23                         <parameter name="trustStorePassword" value="adminadmin"/>  \r
24                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>  \r
25                         <parameter name="keyStorePassword" value="adminadmin"/>\r
26                         <outcome value="success"> \r
27                           <set> \r
28                             <parameter name="prop.sdncRestApi.token_id" value="`$token-result.data.token_id`"/> \r
29                           </set>\r
30                         </outcome>\r
31                         <outcome value="failure"> \r
32                           <block></block>\r
33                         </outcome>\r
34                       </execute>\r
35                       <switch test="`$prop.sdncRestApi.token_id`"> \r
36                         <outcome value=""> \r
37                           <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> \r
38                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`"/>  \r
39                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>  \r
40                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>  \r
41                             <parameter name="format" value="json"/>  \r
42                             <parameter name="httpMethod" value="get"/>  \r
43                             <parameter name="responsePrefix" value="topology"/>  \r
44                             <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>  \r
45                             <parameter name="trustStorePassword" value="adminadmin"/>  \r
46                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>  \r
47                             <parameter name="keyStorePassword" value="adminadmin"/>  \r
48                             <outcome value="failure"> \r
49                               <return status="failure"> \r
50                                 <parameter name="ack-final" value="Y"/>  \r
51                                 <parameter name="error-code" value="500"/>  \r
52                                 <parameter name="error-message" value="Error executing Create vpn rest api"/> \r
53                               </return>\r
54                             </outcome>\r
55                             <outcome value="success"> \r
56                               <block atomic="true">\r
57                                 <for index="nidx" start="0" end="`$topology.networks.network_length`"> \r
58                                   <block> \r
59                                     <set> \r
60                                       <parameter name="network." value="`$topology.networks.network[$nidx].`"/> \r
61                                     </set>\r
62                                     <call module="DataChange" rpc="update-network-to-aai" mode="sync"></call>\r
63                                   </block>\r
64                                 </for>\r
65                               </block>\r
66                             </outcome>\r
67                           </execute>\r
68                         </outcome>\r
69                         <outcome value="Other"> \r
70                           <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> \r
71                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`"/>  \r
72                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>  \r
73                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>  \r
74                             <parameter name="format" value="json"/>  \r
75                             <parameter name="httpMethod" value="get"/>  \r
76                             <parameter name="responsePrefix" value="topology"/>  \r
77                             <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>  \r
78                             <parameter name="trustStorePassword" value="adminadmin"/>  \r
79                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>  \r
80                             <parameter name="keyStorePassword" value="adminadmin"/>  \r
81                             <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>\r
82                             <outcome value="failure"> \r
83                               <return status="failure"> \r
84                                 <parameter name="ack-final" value="Y"/>  \r
85                                 <parameter name="error-code" value="500"/>  \r
86                                 <parameter name="error-message" value="Error executing Create vpn rest api"/> \r
87                               </return>\r
88                             </outcome>\r
89                             <outcome value="success"> \r
90                               <block atomic="true">\r
91                                 <for index="nidx" start="0" end="`$topology.networks.network_length`"> \r
92                                   <block> \r
93                                     <set> \r
94                                       <parameter name="network." value="`$topology.networks.network[$nidx].`"/> \r
95                                     </set>\r
96                                     <call module="DataChange" rpc="update-network-to-aai" mode="sync"></call>\r
97                                   </block>\r
98                                 </for>\r
99                               </block>\r
100                             </outcome>\r
101                           </execute>\r
102                         </outcome>\r
103                       </switch>\r
104                       <set> \r
105                         <parameter name="ietf-subscribed-notifications_establish-subscription.input.encoding" value="encode-json"/>\r
106                       </set>\r
107                       <execute plugin="org.onap.ccsdk.sli.plugins.restconfdiscovery.RestconfDiscoveryNode" method="establishSubscription"> \r
108                         <parameter name="subscriberId" value="sotn-controller"/>  \r
109                         <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ietf-subscribed-notifications:establish-subscription'`"/>  \r
110                         <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>  \r
111                         <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>  \r
112                         <parameter name="sseConnectURL" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/streams/yang-push-json'`"/>  \r
113                         <parameter name="dirPath" value="/opt/sdnc/restconfapi/yang/notification"/>  \r
114                         <parameter name="format" value="json"/>  \r
115                         <parameter name="httpMethod" value="post"/>  \r
116                         <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>  \r
117                         <parameter name="trustStorePassword" value="adminadmin"/>  \r
118                         <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>  \r
119                         <parameter name="keyStorePassword" value="adminadmin"/>  \r
120                         <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>  \r
121                         <parameter name="module" value="DataChange"/>  \r
122                         <parameter name="rpc" value="sotn-notification-handler"/>  \r
123                         <parameter name="mode" value="sync"/>\r
124                       </execute>\r
125                     </block>\r
126                   </outcome>\r
127                   <outcome value="Other"> \r
128                     <return status="failure"> \r
129                       <parameter name="ack-final" value="Y"/>  \r
130                       <parameter name="error-code" value="500"/>  \r
131                       <parameter name="error-message" value="`'Unsupported type = ' + $prop.sdncRestApi.type`"/> \r
132                     </return>\r
133                   </outcome>\r
134                 </switch>\r
135               </block>\r
136             </outcome>\r
137             <outcome value="delete"> \r
138               <block atomic="true"/>\r
139             </outcome>\r
140           </switch>\r
141         </outcome>\r
142         <outcome value="true"> \r
143           <call module="DataChange" rpc="esr-thirdparty-sdnc-of-zte" mode="sync"></call>\r
144         </outcome>\r
145       </switch>\r
146     </block>\r
147   </method>\r
148 </service-logic>