Merge "self-serve DG for Casablanca"
[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             </save>\r
19             <for index='pidx' start='0' end='`$network.node_length`' >\r
20                 <set>\r
21                     <parameter name='node.' value='`$network.node[$pidx].`' />\r
22                 </set>\r
23                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf' \r
24       key='pnf.pnf-name = $node.node-id' >\r
25                     <parameter name='pnf-name' value='`$node.node-id`' />\r
26                     <parameter name='pnf-id' value='`$node.node-id`' />\r
27                     <parameter name='operational-status' value='`$node.te.oper-status`' />\r
28                     <parameter name='admin-status' value='`$node.te.te-node-attributes.admin-status`' />\r
29                     <parameter name='in-maint' value='true' />\r
30                 </save>\r
31                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \r
32       key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">\r
33                     <parameter name="relationship-list.relationship[0].related-to" value="network-resource" />\r
34                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id`" />\r
35                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-resource.network-id" />\r
36                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.network-id`" />\r
37                 </save>\r
38                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list' \r
39       key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id' \r
40       force="true" pfx="tmp.AnAI-data">\r
41                     <parameter name="relationship-list.relationship[0].related-to" value="pnf" />\r
42                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $node.node-id`" />\r
43                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
44                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$node.node-id`" />\r
45                 </save>\r
46                 <for index='tidx' start='0' end='`$node.termination-point_length`' >\r
47                     <set>\r
48                         <parameter name='tp.' value='`$node.termination-point[$tidx].`' />\r
49                     </set>\r
50                     <set>\r
51                         <parameter name='unique-ltpId' value="`'nodeId-' + $node.node-id + '-ltpId-' + $tp.te-tp-id`" />\r
52                     </set>\r
53                     <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \r
54       key='pnf.pnf-name = $node.node-id\r
55       AND p-interface.interface-name = $unique-ltpId' >\r
56                         <parameter name='interface-name' value='`$unique-ltpId`' />\r
57                         <parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\r
58                         <parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />\r
59                         <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\r
60                         <parameter name='operational-status' value='`$tp.te.oper-status`' />\r
61                         <parameter name='in-maint' value="true" />\r
62                         <outcome value='success'>\r
63                             <block></block>\r
64                         </outcome>\r
65                         <outcome value='failure'>\r
66                             <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' \r
67       key='pnf.pnf-name = $node.node-id\r
68       AND p-interface.interface-name = $unique-ltpId' >\r
69                                 <parameter name='interface-name' value='`$unique-ltpId`' />\r
70                                 <parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />\r
71                                 <parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />\r
72                                 <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\r
73                                 <parameter name='operational-status' value='`$tp.te.oper-status`' />\r
74                                 <parameter name='in-maint' value="true" />\r
75                             </update>\r
76                         </outcome>\r
77                     </save>\r
78                 </for>\r
79             </for>\r
80         </block>\r
81     </method>\r
82 </service-logic>\r