f9b7d99740e7eadc109343f461703b415322259c
[sdnc/oam.git] / platform-logic / datachange / src / main / xml / DataChange_update-network-to-aai.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='DataChange' version='${project.version}'>\r
4     <method rpc='update-network-to-aai' mode='sync'>\r
5         <block atomic="true">\r
6             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
7                 <parameter name="source" value="`$network.network-id`"/>\r
8                 <parameter name="outputPath" value="tmp.network-id"/>\r
9                 <parameter name="target" value="/"/>\r
10                 <parameter name="replacement" value="-"/>\r
11             </execute>\r
12             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'  \r
13      key='network-resource.network-id = $tmp.network-id' >\r
14                 <parameter name='network-id' value='`$tmp.network-id`' />\r
15                 <parameter name='client-id' value='`$network.client-id`' />\r
16                 <parameter name='te-topo-id' value='`$network.te-topology-id`' />\r
17                 <parameter name='provider-id' value='`$network.provider-id`' />\r
18                 <parameter name='network-type' value='`$network.network-types`' />\r
19             </save>\r
20             <for index='pidx' start='0' end='`$network.node_length`' >\r
21                 <set>\r
22                     <parameter name='node.' value='' />\r
23                 </set>\r
24                 <set>\r
25                     <parameter name='node.' value='`$network.node[$pidx].`' />\r
26                     <parameter name='unique-networkId' value='`$tmp.network-id`' />\r
27                 </set>\r
28                 <set>\r
29                     <parameter name='unique-nodeId' value="`'networkId-' + $unique-networkId + '-nodeId-' + $node.node-id`" />\r
30                 </set>\r
31                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf' \r
32       key='pnf.pnf-name = $unique-nodeId' >\r
33                     <parameter name='pnf-name' value='`$unique-nodeId`' />\r
34                     <parameter name='pnf-id' value='`$node.node-id`' />\r
35                     <parameter name='operational-status' value='`$node.te.oper-status`' />\r
36                     <parameter name='admin-status' value='`$node.te.te-node-attributes.admin-status`' />\r
37                     <parameter name='in-maint' value='true' />\r
38                 </save>\r
39                 <switch test='`$node.te.tunnel-termination-point_length`'>\r
40                     <outcome value=''>\r
41                         <block></block>\r
42                     </outcome>\r
43                     <outcome value='0'>\r
44                         <block></block>\r
45                     </outcome>\r
46                     <outcome value='Other'>\r
47                         <for index='ttidx' start='0' end='`$node.te.tunnel-termination-point_length`' >\r
48                             <set>\r
49                                 <parameter name='ttp.' value='' />\r
50                             </set>\r
51                             <set>\r
52                                 <parameter name='ttp.' value='`$node.te.tunnel-termination-point[$ttidx].`' />\r
53                             </set>\r
54                             <set>\r
55                                 <parameter name='unique-ttpId' value="`$unique-nodeId + '-ttpId-' + $ttp.tunnel-tp-id`" />\r
56                             </set>\r
57                             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='tunnel-termination-point' \r
58       key='tunnel-termination-point.ttp-id = $unique-ttpId' >\r
59                                 <parameter name='ttp-id' value='`$unique-ttpId`' />\r
60                                 <parameter name='tunnel-tp-id' value='`$ttp.tunnel-tp-id`' />\r
61                                 <parameter name='name' value='`$ttp.name`' />\r
62                                 <parameter name='admin-status' value='`$ttp.admin-status`' />\r
63                                 <parameter name='oper-status' value='`$ttp.oper-status`' />\r
64                                 <parameter name='inter-layer-lock-id' value='`$ttp.inter-layer-lock-id`' />\r
65                                 <parameter name='switching-capability' value='`$ttp.switching-capability`' />\r
66                                 <parameter name='protection-type' value='`$ttp.protection-type`' />\r
67                                 <parameter name='encoding' value='`$ttp.encoding`' />\r
68                                 <outcome value='success'>\r
69                                     <block></block>\r
70                                 </outcome>\r
71                                 <outcome value='failure'>\r
72                                     <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='tunnel-termination-point' \r
73       key='tunnel-termination-point.ttp-id = $unique-ttpId' >\r
74                                         <parameter name='ttp-id' value='`$unique-ttpId`' />\r
75                                         <parameter name='tunnel-tp-id' value='`$ttp.tunnel-tp-id`' />\r
76                                         <parameter name='name' value='`$ttp.name`' />\r
77                                         <parameter name='admin-status' value='`$ttp.admin-status`' />\r
78                                         <parameter name='oper-status' value='`$ttp.oper-status`' />\r
79                                         <parameter name='inter-layer-lock-id' value='`$ttp.inter-layer-lock-id`' />\r
80                                         <parameter name='switching-capability' value='`$ttp.switching-capability`' />\r
81                                         <parameter name='protection-type' value='`$ttp.protection-type`' />\r
82                                         <parameter name='encoding' value='`$ttp.encoding`' />\r
83                                     </update>\r
84                                 </outcome>\r
85                             </save>\r
86                             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \r
87       key='pnf.pnf-name = $unique-nodeId' force="true" pfx="tmp.AnAI-data">\r
88                                 <parameter name="`relationship-list.relationship[$ttidx].related-to`" value="tunnel-termination-point" />\r
89                                 <!--<parameter name="relationship-list.relationship[$ttidx].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $node.node-id '/tunnel-termination-points/tunnel-termination-point/' + $unique-ttpId`" />-->\r
90                                 <parameter name="`relationship-list.relationship[$ttidx].related-link`" value="`'/network/tunnel-termination-points/tunnel-termination-point/' + $unique-ttpId`" />\r
91                                 <parameter name="`relationship-list.relationship[$ttidx].relationship-data[0].relationship-key`" value="tunnel-termination-point.ttp-id" />\r
92                                 <parameter name="`relationship-list.relationship[$ttidx].relationship-data[0].relationship-value`" value="`$unique-ttpId`" />\r
93                                 <outcome value='success'>\r
94                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
95                                         <parameter name="file" value="/opt/onap/logTopologyDiscovery.txt" />\r
96                                         <parameter name="field1" value="__TIMESTAMP__" />\r
97                                         <parameter name="field2" value="sucess executing Hesam log file" />\r
98                                         <parameter name="field3" value="`$node.te.tunnel-termination-point_length`" />\r
99                                         <parameter name="field4" value="`$node.termination-point_length`" />\r
100                                         <parameter name="field5" value="sucessfully saved ttp" />\r
101                                         <parameter name="field6" value="`relationship-list.relationship[$ttidx].related-link`" />\r
102                                     </record>\r
103                                 </outcome>\r
104                                 <outcome value='failure'>\r
105                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
106                                         <parameter name="file" value="/opt/onap/logTopologyDiscovery.txt" />\r
107                                         <parameter name="field1" value="__TIMESTAMP__" />\r
108                                         <parameter name="field2" value="sucess executing Hesam log file" />\r
109                                         <parameter name="field3" value="`$node.te.tunnel-termination-point_length`" />\r
110                                         <parameter name="field4" value="`$node.termination-point_length`" />\r
111                                         <parameter name="field5" value="failuire on saving ttp" />\r
112                                         <parameter name="field6" value="`relationship-list.relationship[$ttidx].related-link`" />\r
113                                     </record>\r
114                                 </outcome>\r
115                             </save>\r
116                         </for>\r
117                     </outcome>\r
118                 </switch>\r
119                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
120                     <parameter name="file" value="/opt/onap/logTopologyDiscovery.txt" />\r
121                     <parameter name="field1" value="__TIMESTAMP__" />\r
122                     <parameter name="field2" value="sucess executing Hesam log file" />\r
123                     <parameter name="field3" value="`$node.te.tunnel-termination-point_length`" />\r
124                     <parameter name="field4" value="`$node.termination-point_length`" />\r
125                 </record>\r
126                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \r
127       key='pnf.pnf-name = $unique-nodeId' force="true" pfx="tmp.AnAI-data">\r
128                     <parameter name="relationship-list.relationship[0].related-to" value="network-resource" />\r
129                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id`" />\r
130                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-resource.network-id" />\r
131                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.network-id`" />\r
132                 </save>\r
133                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list' \r
134       key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id' \r
135       force="true" pfx="tmp.AnAI-data">\r
136                     <parameter name="relationship-list.relationship[0].related-to" value="pnf" />\r
137                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $node.node-id`" />\r
138                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
139                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$node.node-id`" />\r
140                 </save>\r
141                 <switch test='`$node.termination-point_length`'>\r
142                     <outcome value=''>\r
143                         <block></block>\r
144                     </outcome>\r
145                     <outcome value='0'>\r
146                         <block></block>\r
147                     </outcome>\r
148                     <outcome value='Other'>\r
149                         <for index='tidx' start='0' end='`$node.termination-point_length`' >\r
150                             <set>\r
151                                 <parameter name='tp.' value='' />\r
152                             </set>\r
153                             <set>\r
154                                 <parameter name='tp.' value='`$node.termination-point[$tidx].`' />\r
155                             </set>\r
156                             <set>\r
157                                 <parameter name='unique-ltpId' value="`$unique-nodeId + '-ltpId-' + $tp.te-tp-id`" />\r
158                             </set>\r
159                             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \r
160       key='pnf.pnf-name = $unique-nodeId\r
161       AND p-interface.interface-name = $unique-ltpId' >\r
162                                 <parameter name='interface-name' value='`$unique-ltpId`' />\r
163                                 <parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\r
164                                 <parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />\r
165                                 <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\r
166                                 <parameter name='operational-status' value='`$tp.te.oper-status`' />\r
167                                 <parameter name='in-maint' value="true" />\r
168                                 <parameter name='inter-layer-lock-id' value='`$tp.te.inter-layer-lock-id[0]`' />\r
169                                 <parameter name='inter-domain-plug-id' value='`$tp.te.inter-domain-plug-id`' />\r
170                                 <outcome value='success'>\r
171                                     <block></block>\r
172                                 </outcome>\r
173                                 <outcome value='failure'>\r
174                                     <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \r
175       key='pnf.pnf-name = $unique-nodeId\r
176       AND p-interface.interface-name = $unique-ltpId' >\r
177                                         <parameter name='interface-name' value='`$unique-ltpId`' />\r
178                                         <parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\r
179                                         <parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />\r
180                                         <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\r
181                                         <parameter name='operational-status' value='`$tp.te.oper-status`' />\r
182                                         <parameter name='in-maint' value="true" />\r
183                                         <parameter name='inter-layer-lock-id' value='`$tp.te.inter-layer-lock-id[0]`' />\r
184                                         <parameter name='inter-domain-plug-id' value='`$tp.te.inter-domain-plug-id`' />\r
185                                     </update>\r
186                                 </outcome>\r
187                             </save>\r
188                         </for>\r
189                     </outcome>\r
190                 </switch>\r
191             </for>\r
192             <call module='DataChange' rpc='update-network-links-to-aai' mode='sync' ></call>\r
193         </block>\r
194     </method>\r
195 </service-logic>