1 <service-logic xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="DataChange" version="${project.version}">
2 <method rpc="update-network-links-to-aai" mode="sync">
4 <for index="pidx" start="0" end="`$network.link_length`">
6 <parameter name="link." value="`$network.link[$pidx].`"/>
7 <parameter name="unique-networkId" value="`$tmp.network-id`"/>
10 <parameter name="unique-linkId" value="`'networkId-' + $unique-networkId + '-linkId-' + $link.link-id`"/>
11 <parameter name="src-tpId" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.source.source-node + '-ltpId-' + $link.source.source-tp`"/>
12 <parameter name="unique-src-node-Id" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.source.source-node`"/>
14 <switch test="`$link.destination`">
18 <parameter name="is-open-ended-link" value="true"/>
20 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="p-interface" key="pnf.pnf-name = $unique-src-node-Id and p-interface.interface-name = $src-tpId" local-only="false" pfx="tmp.aai.p-interface">
21 <outcome value="success">
23 <parameter name="alt-unique-linkId" value="`$tmp.aai.p-interface.inter-domain-plug-id`"/>
26 <outcome value="not-found">
27 <return status="failure">
28 <parameter name="ack-final" value="Y"/>
29 <parameter name="error-code" value="500"/>
30 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`"/>
33 <outcome value="failure">
34 <return status="failure">
35 <parameter name="error-code" value=""/>
36 <parameter name="error-message" value=""/>
42 <outcome value="Other">
44 <parameter name="dst-tpId" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.destination.dest-node + '-ltpId-' + $link.destination.dest-tp`"/>
45 <parameter name="unique-dst-node-Id" value="`'networkId-' + $unique-networkId + '-nodeId-' + $link.destination.dest-node`"/>
46 <parameter name="is-open-ended-link" value="false"/>
50 <switch test="`$is-open-ended-link`">
51 <outcome value="true">
52 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link" key="logical-link.link-name = $alt-unique-linkId" local-only="false" pfx="tmp.aai.logical-link">
53 <outcome value="success">
54 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $alt-unique-linkId" force="true" pfx="tmp.AnAI-data">
56 <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />
59 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`" />
62 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name" />
65 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$src-tpId`" />
67 <parameter name="relationship-list.relationship[1].related-to" value="p-interface"/>
68 <parameter name="relationship-list.relationship[1].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`"/>
69 <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="p-interface.interface-name"/>
70 <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$src-tpId`"/>
73 <outcome value="not-found">
75 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link" key="logical-link.link-name = $alt-unique-linkId">
76 <parameter name="link-name" value="`$alt-unique-linkId`"/>
77 <parameter name="link-id" value="`$link.link-id`"/>
78 <parameter name="link-type" value="`$link.te.te-link-attributes.access-type`"/>
80 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $unique-linkId" force="true" pfx="tmp.AnAI-data">
81 <parameter name="relationship-list.relationship[0].related-to" value="p-interface"/>
82 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`"/>
83 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name"/>
84 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$src-tpId`"/>
86 <switch test="`$link.te.te-link-attributes.label-restriction`">
90 <outcome value="Other">
91 <for index="tidx" start="0" end="`$link.te.te-link-attributes.label-restriction_length`">
93 <parameter name="label-restriction." value="`$link.te.te-link-attributes.label-restriction[$tidx].`"/>
94 <parameter name="unique-lrId" value="`$alt-unique-linkId + '-lrId-' + $label-restriction.index`"/>
96 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="logical-link.link-name = $alt-unique-linkId AND label-restriction.id = $unique-lrId">
97 <parameter name="id" value="`$unique-lrId`"/>
98 <parameter name="label-start" value="`$label-restriction.label-start`"/>
99 <parameter name="label-end" value="`$label-restriction.label-end`"/>
100 <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>
101 <parameter name="label-step" value="`$label-restriction.label-step`"/>
102 <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>
103 <outcome value="success">
106 <outcome value="failure">
107 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="logical-link.link-name = $alt-unique-linkId AND label-restriction.id = $unique-lrId">
108 <parameter name="id" value="`$unique-lrId`"/>
109 <parameter name="label-start" value="`$label-restriction.label-start`"/>
110 <parameter name="label-end" value="`$label-restriction.label-end`"/>
111 <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>
112 <parameter name="label-step" value="`$label-restriction.label-step`"/>
113 <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>
117 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $alt-unique-linkId" force="true" pfx="tmp.AnAI-data">
118 <parameter name="relationship-list.relationship[$tidx].related-to" value="label-restriction"/>
119 <parameter name="relationship-list.relationship[$tidx].related-link" value="`'/network/label-restrictions/label-restriction/' + $unique-lrId`"/>
120 <parameter name="relationship-list.relationship[$tidx].relationship-data[0].relationship-key" value="label-restriction.id"/>
121 <parameter name="relationship-list.relationship[$tidx].relationship-data[0].relationship-value" value="`$unique-lrId`"/>
130 <outcome value="false">
131 <block atomic="true">
132 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link" key="logical-link.link-name = $unique-linkId">
133 <parameter name="link-name" value="`$unique-linkId`"/>
134 <parameter name="link-id" value="`$link.link-id`"/>
135 <parameter name="link-type" value="`$link.te.te-link-attributes.access-type`"/>
137 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $unique-linkId" force="true" pfx="tmp.AnAI-data">
138 <parameter name="relationship-list.relationship[0].related-to" value="p-interface"/>
139 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $unique-src-node-Id + '/p-interfaces/p-interface/' + $src-tpId`"/>
140 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name"/>
141 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$src-tpId`"/>
142 <parameter name="relationship-list.relationship[1].related-to" value="p-interface"/>
143 <parameter name="relationship-list.relationship[1].related-link" value="`'/network/pnfs/pnf/' + $unique-dst-node-Id + '/p-interfaces/p-interface/' + $dst-tpId`"/>
144 <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="p-interface.interface-name"/>
145 <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$dst-tpId`"/>
147 <switch test="`$link.te.te-link-attributes.label-restriction`">
151 <outcome value="Other">
152 <for index="tidx" start="0" end="`$link.te.te-link-attributes.label-restriction_length`">
154 <parameter name="label-restriction." value="`$link.te.te-link-attributes.label-restriction[$tidx].`"/>
155 <parameter name="unique-lrId" value="`$unique-linkId + '-lrId-' + $label-restriction.index`"/>
157 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="logical-link.link-name = $unique-linkId AND label-restriction.id = $unique-lrId">
158 <parameter name="id" value="`$unique-lrId`"/>
159 <parameter name="label-start" value="`$label-restriction.label-start`"/>
160 <parameter name="label-end" value="`$label-restriction.label-end`"/>
161 <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>
162 <parameter name="label-step" value="`$label-restriction.label-step`"/>
163 <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>
164 <outcome value="success">
167 <outcome value="failure">
168 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="label-restriction" key="logical-link.link-name = $unique-linkId AND label-restriction.id = $unique-lrId">
169 <parameter name="id" value="`$unique-lrId`"/>
170 <parameter name="label-start" value="`$label-restriction.label-start`"/>
171 <parameter name="label-end" value="`$label-restriction.label-end`"/>
172 <parameter name="range-bitmap" value="`$label-restriction.range-bitmap`"/>
173 <parameter name="label-step" value="`$label-restriction.label-step`"/>
174 <parameter name="inclusive-exclusive" value="`$label-restriction.inclusive-exclusive`"/>
178 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="logical-link:relationship-list" key="logical-link.link-name = $unique-linkId" force="true" pfx="tmp.AnAI-data">
179 <parameter name="relationship-list.relationship[$tidx].related-to" value="label-restriction"/>
180 <parameter name="relationship-list.relationship[$tidx].related-link" value="`'/network/label-restrictions/label-restriction/' + $unique-lrId`"/>
181 <parameter name="relationship-list.relationship[$tidx].relationship-data[0].relationship-key" value="label-restriction.id"/>
182 <parameter name="relationship-list.relationship[$tidx].relationship-data[0].relationship-value" value="`$unique-lrId`"/>