Adding DGs to support Transport Slicing operations.
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / trans_slicing / GENERIC-RESOURCE-API_tsli-vnf-topology-operation-trans-slice-allocate.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='GENERIC-RESOURCE-API' version='${project.version}'>\r
4     <method rpc='tsli-vnf-topology-operation-trans-slice-allocate' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$service-data.vnfs.vnf_length`'>\r
7                 <outcome value=''>\r
8                     <set>\r
9                         <parameter name='vnf-index' value='0' />\r
10                     </set>\r
11                 </outcome>\r
12                 <outcome value='Other'>\r
13                     <block>\r
14                         <set>\r
15                             <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\r
16                         </set>\r
17                         <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
18                             <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\r
19                                 <outcome value='true'>\r
20                                     <return status='failure'>\r
21                                         <parameter name='ack-final' value='Y'/>\r
22                                         <parameter name="error-code" value="500" />\r
23                                         <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\r
24       + ' already exists, and has order status ' + $service-data.vnfs.vnf[$idx].vnf-data.vnf-level-oper-status.order-status`" />\r
25                                     </return>\r
26                                 </outcome>\r
27                             </switch>\r
28                         </for>\r
29                     </block>\r
30                 </outcome>\r
31             </switch>\r
32             <for index="idx" start="0" end="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`">\r
33                 <block>\r
34                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
35                         <parameter name="original_string" value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name`'/>\r
36                         <parameter name="regex" value="_"/>\r
37                         <parameter name="ctx_memory_result_key" value="param-prefix"/>\r
38                     </execute>\r
39                     <set>\r
40                         <parameter name="`vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name`" value='`$param-prefix[$param-prefix_length -1]`'/>\r
41                     </set>\r
42                 </block>\r
43             </for>\r
44             <set>\r
45                 <parameter name='vnf-request-input.' value='`$vnf-topology-operation-input.vnf-request-input.`' />\r
46             </set>\r
47             <for index="idx" start="0" end="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param_length`">\r
48                 <block>\r
49                     <switch test="`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].name == 'name'`">\r
50                         <outcome value='true'>\r
51                             <set>\r
52                                 <parameter name='prop.vnfName' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$idx].value`' />\r
53                             </set>\r
54                         </outcome>\r
55                     </switch>\r
56                 </block>\r
57             </for>\r
58             <set>\r
59                 <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\r
60             </set>\r
61             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
62                 <parameter name="ctx-destination" value="prop.vnf-id"/>\r
63             </execute>\r
64             <set>\r
65                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id' value='`$prop.vnf-id`' />\r
66                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\r
67                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\r
68                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\r
69                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\r
70                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\r
71             </set>\r
72             <set>\r
73                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.vnf-id' value='`$prop.vnf-id`' />\r
74             </set>\r
75             <set>\r
76                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' />\r
77                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\r
78                 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\r
79             </set>\r
80             <set>\r
81                 <parameter name='vnfId' value='`$prop.vnf-id`' />\r
82                 <parameter name="vnf-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vnf-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $prop.vnf-id  + '/vnf-data/'` " />\r
83             </set>\r
84             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
85         resource="generic-vnf"   \r
86                 key='generic-vnf.vnf-id = $prop.vnf-id' >\r
87                 <parameter name="orchestration-status" value="Created" />\r
88                 <parameter name="in-maint" value = "true" />\r
89                 <parameter name="vnf-type" value='`$prop.vnfName`' />\r
90                 <parameter name="vnf-name" value = "`$prop.vnfName`"/>\r
91                 <parameter name="model-invariant-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`"/>\r
92                 <parameter name="model-version-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`"/>\r
93                 <parameter name="model-customization-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`"/>\r
94             </save>\r
95             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \r
96       key='service-instance.service-instance-id = $service-data.service-information.service-instance-id\r
97          AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \r
98          AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' \r
99       force="true" pfx="tmp.AnAI-data">\r
100                 <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />\r
101                 <parameter name="relationship-list.relationship[0].related-link" value="`'/network/generic-vnfs/generic-vnf/' + $prop.vnf-id`" />\r
102                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" />\r
103                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.vnf-id`" />\r
104                 <!--key='service-instance.service-instance-id = $service-data.service-information.service-instance-id -->\r
105                 <!--key='service-instance.service-instance-id = $service-data.service-instance-id -->\r
106             </save>\r
107             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
108         resource="service-instance"\r
109         key='service-instance.service-instance-id = $service-data.service-information.service-instance-id\r
110          AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \r
111          AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type'\r
112         local-only="false"\r
113         force="true" pfx="tmp.aai.service-instance">\r
114                 <outcome value='success'>\r
115                     <switch test='`$tmp.aai.service-instance.allotted-resources_length != 0`'>\r
116                         <outcome value='false'></outcome>\r
117                         <outcome value='true'>\r
118                             <block>\r
119                                 <set>\r
120                                     <parameter name='allotted-resource-id' value="`$tmp.aai.service-instance.allotted-resources[0]`" />\r
121                                 </set>\r
122                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
123         resource="allotted-resource"\r
124         key='allotted-resource.id = $allotted-resource-id'\r
125         local-only="false"\r
126         force="true" pfx="tmp.aai.allotted-resource">\r
127                                     <outcome value='not-found'>\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="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
132                                         </return>\r
133                                     </outcome>\r
134                                     <outcome value='failure'>\r
135                                         <return status='failure'>\r
136                                             <parameter name='error-code' value='' />\r
137                                             <parameter name='error-message' value='' />\r
138                                         </return>\r
139                                     </outcome>\r
140                                     <outcome value='success'>\r
141                                         <switch test='`$tmp.aai.allotted-resource.logical-links_length != 0`'>\r
142                                             <outcome value='false'></outcome>\r
143                                             <outcome value='true'>\r
144                                                 <block>\r
145                                                     <set>\r
146                                                         <parameter name='logical-link-name' value="`$tmp.aai.allotted-resource.logical-links[0]`" />\r
147                                                     </set>\r
148                                                     <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
149         resource="logical-link"\r
150         key='logical-link.name = $logical-link-name'\r
151         local-only="false"\r
152         force="true" pfx="tmp.aai.logical-link">\r
153                                                         <outcome value='not-found'>\r
154                                                             <return status='failure'>\r
155                                                                 <parameter name='ack-final' value='Y'/>\r
156                                                                 <parameter name="error-code" value="500" />\r
157                                                                 <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
158                                                             </return>\r
159                                                         </outcome>\r
160                                                         <outcome value='failure'>\r
161                                                             <return status='failure'>\r
162                                                                 <parameter name='error-code' value='' />\r
163                                                                 <parameter name='error-message' value='' />\r
164                                                             </return>\r
165                                                         </outcome>\r
166                                                         <outcome value='success'>\r
167                                                             <block>\r
168                                                                 <set>\r
169                                                                     <parameter name='endpointA' value="`$tmp.aai.logical-link.name`" />\r
170                                                                 </set>\r
171                                                                 <set>\r
172                                                                     <parameter name='endpointB' value="`$tmp.aai.logical-link.name2`" />\r
173                                                                 </set>\r
174                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
175         resource="endpoint"\r
176         key='endpoint.endpoint-id = $endpointA'\r
177         local-only="false"\r
178         force="true" pfx="tmp.aai.endpointA">\r
179                                                                     <outcome value='not-found'>\r
180                                                                         <return status='failure'>\r
181                                                                             <parameter name='ack-final' value='Y'/>\r
182                                                                             <parameter name="error-code" value="500" />\r
183                                                                             <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
184                                                                         </return>\r
185                                                                     </outcome>\r
186                                                                     <outcome value='failure'>\r
187                                                                         <return status='failure'>\r
188                                                                             <parameter name='error-code' value='' />\r
189                                                                             <parameter name='error-message' value='' />\r
190                                                                         </return>\r
191                                                                     </outcome>\r
192                                                                     <outcome value='success'>\r
193                                                                         <block atomic="true">\r
194                                                                             <for index='rel-index' start='0' end='`$tmp.aai.endpointA.relationship-list.relationship_length`' >\r
195                                                                                 <switch test='`$tmp.aai.endpointA.relationship-list.relationship[$rel-index].related-to`'>\r
196                                                                                     <outcome value='p-interface'>\r
197                                                                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
198         resource="p-interface"\r
199             key="p-interface.interface-name = $tmp.aai.endpointA.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"\r
200                 local-only="false" \r
201                 pfx="tmp.aai.endpointA.p-interface-src" >\r
202                                                                                             <!--<get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" -->\r
203                                                                                             <!--        resource="p-interface"-->\r
204                                                                                             <!--            key="pnf.pnf-name = $unique-src-node-Id-->\r
205                                                                                             <!--                and p-interface.interface-name = $tmp.aai.endpointA.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"-->\r
206                                                                                             <!--                local-only="false" -->\r
207                                                                                             <!--                pfx="tmp.aai.endpointA.p-interface-src" >-->\r
208                                                                                             <outcome value='success'>\r
209                                                                                                 <block atomic="true">\r
210                                                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
211                                                                                                         <parameter name="original_string" value='`$tmp.aai.endpointA.p-interface-src`'/>\r
212                                                                                                         <!--<parameter name="regex" value="[^-]+$"/>-->\r
213                                                                                                         <parameter name="regex" value="[^-]+"/>\r
214                                                                                                         <parameter name="ctx_memory_result_key" value="param-prefix-domainA"/>\r
215                                                                                                         <outcome value='success'>\r
216                                                                                                             <block atomic="true">\r
217                                                                                                                 <set>\r
218                                                                                                                     <parameter name='tmp.src.ltpId' value='`$param-prefix-domainA[$param-prefix-domainA_length -1]`' />\r
219                                                                                                                 </set>\r
220                                                                                                                 <set>\r
221                                                                                                                     <parameter name='tmp.src.pnf-name' value='`$param-prefix-domainA[$param-prefix-domainA_length -3]`' />\r
222                                                                                                                 </set>\r
223                                                                                                             </block>\r
224                                                                                                         </outcome>\r
225                                                                                                         <outcome value='failure'>\r
226                                                                                                             <return status='failure'>\r
227                                                                                                                 <parameter name='error-code' value='' />\r
228                                                                                                                 <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
229                                                                                                             </return>\r
230                                                                                                         </outcome>\r
231                                                                                                     </execute>\r
232                                                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
233                                                                                                         <parameter name="ctx-destination" value="prop.connectivity-domainA-uuid"/>\r
234                                                                                                     </execute>\r
235                                                                                                     <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity' \r
236       key='connectivity.connectivity-id = $prop.connectivity-domainA-uuid'>\r
237                                                                                                         <parameter name='connectivity-id' value='`$prop.connectivity-domainA-uuid`' />\r
238                                                                                                         <parameter name='operational-status' value='Created' />\r
239                                                                                                         <parameter name='access-provider-id' value='' />\r
240                                                                                                         <parameter name='access-client-id' value='' />\r
241                                                                                                         <parameter name='access-topology-id' value='' />\r
242                                                                                                         <parameter name='access-node-id' value='' />\r
243                                                                                                         <parameter name='access-ltp-id' value='' />\r
244                                                                                                         <parameter name='cvlan' value='' />\r
245                                                                                                         <parameter name='bandwidth-profile-name' value='`$prop.sotn.etht-svc-name`' />\r
246                                                                                                         <parameter name='vpn-type' value='`$prop.sotn.vpnType`' />\r
247                                                                                                         <parameter name='CIR' value='`$prop.sotn.cir`' />\r
248                                                                                                         <parameter name='EIR' value='`$prop.sotn.eir`' />\r
249                                                                                                         <parameter name='CBS' value='`$prop.sotn.cbs`' />\r
250                                                                                                         <parameter name='EBS' value='`$prop.sotn.ebs`' />\r
251                                                                                                         <!--<parameter name='color-aware' value='`$prop.sotn.colorAware`' />-->\r
252                                                                                                         <!--<parameter name='coupling-flag' value='`$prop.sotn.couplingFlag`' />-->\r
253                                                                                                         <!--<parameter name='etht-svc-name' value='`$prop.sotn.etht-svc-name`' />-->\r
254                                                                                                         <parameter name='model-customization-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`' />\r
255                                                                                                         <parameter name='model-invariant-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`' />\r
256                                                                                                         <parameter name='model-version-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`' />\r
257                                                                                                         <parameter name='connectivity-selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $prop.sotn.network-id  + '/network-data/'` " />\r
258                                                                                                     </save>\r
259                                                                                                     <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \r
260       key='service-instance.service-instance-id = $service-data.service-information.service-instance-id\r
261          AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \r
262          AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' \r
263       force="true" pfx="tmp.AnAI-data">\r
264                                                                                                         <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />\r
265                                                                                                         <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $prop.connectivity-domainA-uuid`" />\r
266                                                                                                         <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />\r
267                                                                                                         <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.connectivity-domainA-uuid`" />\r
268                                                                                                         <!--<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' -->\r
269                                                                                                         <!--      key='service-instance.service-instance-id = $service-data.service-information.service-instance-id -->\r
270                                                                                                         <!--         AND customer.global-customer-id = $service-data.networks.network[$nidx].network-data.service-information.global-customer-id -->\r
271                                                                                                         <!--         AND service-subscription.service-type = $service-data.networks.network[$nidx].network-data.service-information.subscription-service-type' -->\r
272                                                                                                         <!--      force="true" pfx="tmp.AnAI-data">-->\r
273                                                                                                         <!--<parameter name="relationship-list.relationship[0].related-to" value="connectivity" />-->\r
274                                                                                                         <!--<parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $prop.sotn.network-id`" />-->\r
275                                                                                                         <!--<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />-->\r
276                                                                                                         <!--<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.sotn.network-id`" />-->\r
277                                                                                                     </save>\r
278                                                                                                 </block>\r
279                                                                                             </outcome>\r
280                                                                                             <outcome value='not-found'>\r
281                                                                                                 <return status='failure'>\r
282                                                                                                     <parameter name='ack-final' value='Y'/>\r
283                                                                                                     <parameter name="error-code" value="500" />\r
284                                                                                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
285                                                                                                 </return>\r
286                                                                                             </outcome>\r
287                                                                                             <outcome value='failure'>\r
288                                                                                                 <return status='failure'>\r
289                                                                                                     <parameter name='error-code' value='' />\r
290                                                                                                     <parameter name='error-message' value='' />\r
291                                                                                                 </return>\r
292                                                                                             </outcome>\r
293                                                                                         </get-resource>\r
294                                                                                     </outcome>\r
295                                                                                 </switch>\r
296                                                                             </for>\r
297                                                                         </block>\r
298                                                                     </outcome>\r
299                                                                 </get-resource>\r
300                                                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
301         resource="endpoint"\r
302         key='endpoint.endpoint-id = $endpointB'\r
303         local-only="false"\r
304         force="true" pfx="tmp.aai.endpointB">\r
305                                                                     <outcome value='not-found'>\r
306                                                                         <return status='failure'>\r
307                                                                             <parameter name='ack-final' value='Y'/>\r
308                                                                             <parameter name="error-code" value="500" />\r
309                                                                             <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
310                                                                         </return>\r
311                                                                     </outcome>\r
312                                                                     <outcome value='failure'>\r
313                                                                         <return status='failure'>\r
314                                                                             <parameter name='error-code' value='' />\r
315                                                                             <parameter name='error-message' value='' />\r
316                                                                         </return>\r
317                                                                     </outcome>\r
318                                                                     <outcome value='success'>\r
319                                                                         <block atomic="true">\r
320                                                                             <for index='rel-index' start='0' end='`$tmp.aai.endpointB.relationship-list.relationship_length`' >\r
321                                                                                 <switch test='`$tmp.aai.endpointB.relationship-list.relationship[$rel-index].related-to`'>\r
322                                                                                     <outcome value='p-interface'>\r
323                                                                                         <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
324         resource="p-interface"\r
325             key="p-interface.interface-name = $tmp.aai.endpointB.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"\r
326                 local-only="false" \r
327                 pfx="tmp.aai.endpointB.p-interface-dst" >\r
328                                                                                             <!--<get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" -->\r
329                                                                                             <!--        resource="p-interface"-->\r
330                                                                                             <!--            key="pnf.pnf-name = $unique-src-node-Id-->\r
331                                                                                             <!--                and p-interface.interface-name = $tmp.aai.endpointB.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"-->\r
332                                                                                             <!--                local-only="false" -->\r
333                                                                                             <!--                pfx="tmp.aai.endpointB.p-interface-dst" >-->\r
334                                                                                             <outcome value='success'>\r
335                                                                                                 <block atomic="true">\r
336                                                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
337                                                                                                         <parameter name="original_string" value='`$tmp.aai.endpointB.p-interface-dst`'/>\r
338                                                                                                         <!--<parameter name="regex" value="[^-]+$"/>-->\r
339                                                                                                         <parameter name="regex" value="[^-]+"/>\r
340                                                                                                         <parameter name="ctx_memory_result_key" value="param-prefix-domainB"/>\r
341                                                                                                         <outcome value='success'>\r
342                                                                                                             <block atomic="true">\r
343                                                                                                                 <set>\r
344                                                                                                                     <parameter name='tmp.dst.ltpId' value='`$param-prefix-domainB[$param-prefix-domainB_length -1]`' />\r
345                                                                                                                 </set>\r
346                                                                                                                 <set>\r
347                                                                                                                     <parameter name='tmp.dst.pnf-name' value='`$param-prefix-domainB[$param-prefix-domainB_length -3]`' />\r
348                                                                                                                 </set>\r
349                                                                                                             </block>\r
350                                                                                                         </outcome>\r
351                                                                                                         <outcome value='failure'>\r
352                                                                                                             <return status='failure'>\r
353                                                                                                                 <parameter name='error-code' value='' />\r
354                                                                                                                 <parameter name='error-message' value="An error occured while splitting sna1_route" />\r
355                                                                                                             </return>\r
356                                                                                                         </outcome>\r
357                                                                                                     </execute>\r
358                                                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >\r
359                                                                                                         <parameter name="ctx-destination" value="prop.connectivity-domainB-uuid"/>\r
360                                                                                                     </execute>\r
361                                                                                                     <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='connectivity' \r
362       key='connectivity.connectivity-id = $prop.connectivity-domainB-uuid'>\r
363                                                                                                         <parameter name='connectivity-id' value='`$prop.connectivity-domainB-uuid`' />\r
364                                                                                                         <parameter name='operational-status' value='Created' />\r
365                                                                                                         <parameter name='access-provider-id' value='' />\r
366                                                                                                         <parameter name='access-client-id' value='' />\r
367                                                                                                         <parameter name='access-topology-id' value='' />\r
368                                                                                                         <parameter name='access-node-id' value='' />\r
369                                                                                                         <parameter name='access-ltp-id' value='' />\r
370                                                                                                         <parameter name='cvlan' value='' />\r
371                                                                                                         <parameter name='bandwidth-profile-name' value='`$prop.sotn.etht-svc-name`' />\r
372                                                                                                         <parameter name='vpn-type' value='`$prop.sotn.vpnType`' />\r
373                                                                                                         <parameter name='CIR' value='`$prop.sotn.cir`' />\r
374                                                                                                         <parameter name='EIR' value='`$prop.sotn.eir`' />\r
375                                                                                                         <parameter name='CBS' value='`$prop.sotn.cbs`' />\r
376                                                                                                         <parameter name='EBS' value='`$prop.sotn.ebs`' />\r
377                                                                                                         <!--<parameter name='color-aware' value='`$prop.sotn.colorAware`' />-->\r
378                                                                                                         <!--<parameter name='coupling-flag' value='`$prop.sotn.couplingFlag`' />-->\r
379                                                                                                         <!--<parameter name='etht-svc-name' value='`$prop.sotn.etht-svc-name`' />-->\r
380                                                                                                         <parameter name='model-customization-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`' />\r
381                                                                                                         <parameter name='model-invariant-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`' />\r
382                                                                                                         <parameter name='model-version-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`' />\r
383                                                                                                         <parameter name='connectivity-selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $prop.sotn.network-id  + '/network-data/'` " />\r
384                                                                                                     </save>\r
385                                                                                                     <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' \r
386       key='service-instance.service-instance-id = $service-data.service-information.service-instance-id\r
387          AND customer.global-customer-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.global-customer-id \r
388          AND service-subscription.service-type = $service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.subscription-service-type' \r
389       force="true" pfx="tmp.AnAI-data">\r
390                                                                                                         <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />\r
391                                                                                                         <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $prop.connectivity-domainB-uuid`" />\r
392                                                                                                         <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />\r
393                                                                                                         <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.connectivity-domainB-uuid`" />\r
394                                                                                                         <!--<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list' -->\r
395                                                                                                         <!--      key='service-instance.service-instance-id = $service-data.service-information.service-instance-id -->\r
396                                                                                                         <!--         AND customer.global-customer-id = $service-data.networks.network[$nidx].network-data.service-information.global-customer-id -->\r
397                                                                                                         <!--         AND service-subscription.service-type = $service-data.networks.network[$nidx].network-data.service-information.subscription-service-type' -->\r
398                                                                                                         <!--      force="true" pfx="tmp.AnAI-data">-->\r
399                                                                                                         <!--<parameter name="relationship-list.relationship[0].related-to" value="connectivity" />-->\r
400                                                                                                         <!--<parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $prop.sotn.network-id`" />-->\r
401                                                                                                         <!--<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />-->\r
402                                                                                                         <!--<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.sotn.network-id`" />-->\r
403                                                                                                     </save>\r
404                                                                                                 </block>\r
405                                                                                             </outcome>\r
406                                                                                             <outcome value='not-found'>\r
407                                                                                                 <return status='failure'>\r
408                                                                                                     <parameter name='ack-final' value='Y'/>\r
409                                                                                                     <parameter name="error-code" value="500" />\r
410                                                                                                     <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
411                                                                                                 </return>\r
412                                                                                             </outcome>\r
413                                                                                             <outcome value='failure'>\r
414                                                                                                 <return status='failure'>\r
415                                                                                                     <parameter name='error-code' value='' />\r
416                                                                                                     <parameter name='error-message' value='' />\r
417                                                                                                 </return>\r
418                                                                                             </outcome>\r
419                                                                                         </get-resource>\r
420                                                                                     </outcome>\r
421                                                                                 </switch>\r
422                                                                             </for>\r
423                                                                         </block>\r
424                                                                     </outcome>\r
425                                                                 </get-resource>\r
426                                                                 <set>\r
427                                                                     <parameter name='prop.connection-attachment.access-provider-id' value='`$oof.vpn.access-provider-id`' />\r
428                                                                     <parameter name='prop.connection-attachment.access-client-id' value='`$oof.vpn.access-client-id`' />\r
429                                                                     <parameter name='prop.connection-attachment.access-topology-id' value='`$oof.vpn.access-topology-id`' />\r
430                                                                     <parameter name='prop.connection-attachment.access-node-id' value='`$oof.vpn.access-node-id`' />\r
431                                                                     <parameter name='prop.connection-attachment.access-ltp-id' value='`$oof.vpn.src-access-ltp-id`' />\r
432                                                                     <parameter name='prop.remote.connection-attachment.access-provider-id' value='`$oof.vpn.access-provider-id`' />\r
433                                                                     <parameter name='prop.remote.connection-attachment.access-client-id' value='`$oof.vpn.access-client-id`' />\r
434                                                                     <parameter name='prop.remote.connection-attachment.access-topology-id' value='`$oof.vpn.access-topology-id`' />\r
435                                                                     <parameter name='prop.remote.connection-attachment.access-node-id' value='`$oof.vpn.access-node-id`' />\r
436                                                                     <parameter name='prop.remote.connection-attachment.access-ltp-id' value='`$oof.vpn.src-access-ltp-id`' />\r
437                                                                 </set>\r
438                                                                 <call module='GENERIC-RESOURCE-API' rpc='sotn-get-otn-tunnel-path-from-oof' mode='sync' ></call>\r
439                                                                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding' \r
440       key='vpn-binding.vpn-id = $tmp.vpnName' >\r
441                                                                     <parameter name='vpn-id' value='`$tmp.vpnName`' />\r
442                                                                     <parameter name='vpn-name' value='`$tmp.vpnName`' />\r
443                                                                     <parameter name='access-provider-id' value='`$oof.vpn.access-provider-id`' />\r
444                                                                     <parameter name='access-client-id' value='`$oof.vpn.access-client-id`' />\r
445                                                                     <parameter name='access-topology-id' value='`$oof.vpn.access-topology-id`' />\r
446                                                                     <parameter name='src-access-node-id' value='`$oof.vpn.access-node-id`' />\r
447                                                                     <parameter name='src-access-ltp-id' value='`$oof.vpn.src-access-ltp-id`' />\r
448                                                                     <parameter name='dst-access-node-id' value='`$oof.vpn.access-node-id`' />\r
449                                                                     <parameter name='dst-access-ltp-id' value='`$oof.vpn.dst-access-ltp-id`' />\r
450                                                                     <parameter name='vpn-type' value='`$prop.global.sotn.vpnType`' />\r
451                                                                     <parameter name='operational-status' value='Created' />\r
452                                                                     <parameter name='model-customization-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`' />\r
453                                                                     <parameter name='model-invariant-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`' />\r
454                                                                     <parameter name='model-version-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`' />\r
455                                                                     <outcome value='success'>\r
456                                                                         <block></block>\r
457                                                                     </outcome>\r
458                                                                 </save>\r
459                                                                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list' \r
460       key='vpn-binding.vpn-id = $tmp.vpnName' \r
461       force="true" pfx="tmp.AnAI-data">\r
462                                                                     <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />\r
463                                                                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $mdsal-psd.service-data.networks.network[0].network-id`" />\r
464                                                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />\r
465                                                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$mdsal-psd.service-data.networks.network[0].network-id`" />\r
466                                                                 </save>\r
467                                                                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding' \r
468       key='vpn-binding.vpn-id = $tmp.vpnName' >\r
469                                                                     <parameter name='vpn-id' value='`$tmp.vpnName`' />\r
470                                                                     <parameter name='vpn-name' value='`$tmp.vpnName`' />\r
471                                                                     <parameter name='access-provider-id' value='`$oof.vpn.access-provider-id`' />\r
472                                                                     <parameter name='access-client-id' value='`$oof.vpn.access-client-id`' />\r
473                                                                     <parameter name='access-topology-id' value='`$oof.vpn.access-topology-id`' />\r
474                                                                     <parameter name='src-access-node-id' value='`$oof.vpn.access-node-id`' />\r
475                                                                     <parameter name='src-access-ltp-id' value='`$oof.vpn.src-access-ltp-id`' />\r
476                                                                     <parameter name='dst-access-node-id' value='`$oof.vpn.access-node-id`' />\r
477                                                                     <parameter name='dst-access-ltp-id' value='`$oof.vpn.dst-access-ltp-id`' />\r
478                                                                     <parameter name='vpn-type' value='`$prop.global.sotn.vpnType`' />\r
479                                                                     <parameter name='operational-status' value='Created' />\r
480                                                                     <parameter name='model-customization-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-customization-uuid`' />\r
481                                                                     <parameter name='model-invariant-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-invariant-uuid`' />\r
482                                                                     <parameter name='model-version-id' value='`$network-topology-operation-input.network-information.onap-model-information.model-uuid`' />\r
483                                                                     <outcome value='success'>\r
484                                                                         <block></block>\r
485                                                                     </outcome>\r
486                                                                 </save>\r
487                                                                 <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='vpn-binding:relationship-list' \r
488       key='vpn-binding.vpn-id = $tmp.vpnName' \r
489       force="true" pfx="tmp.AnAI-data">\r
490                                                                     <parameter name="relationship-list.relationship[0].related-to" value="connectivity" />\r
491                                                                     <parameter name="relationship-list.relationship[0].related-link" value="`'/network/connectivities/connectivity/' + $mdsal-psd.service-data.networks.network[0].network-id`" />\r
492                                                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="connectivity.connectivity-id" />\r
493                                                                     <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$mdsal-psd.service-data.networks.network[0].network-id`" />\r
494                                                                 </save>\r
495                                                             </block>\r
496                                                         </outcome>\r
497                                                     </get-resource>\r
498                                                 </block>\r
499                                             </outcome>\r
500                                         </switch>\r
501                                     </outcome>\r
502                                 </get-resource>\r
503                             </block>\r
504                         </outcome>\r
505                     </switch>\r
506                 </outcome>\r
507                 <outcome value='not-found'>\r
508                     <return status='failure'>\r
509                         <parameter name='ack-final' value='Y'/>\r
510                         <parameter name="error-code" value="500" />\r
511                         <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.l3vpn.pe1_id`" />\r
512                     </return>\r
513                 </outcome>\r
514                 <outcome value='failure'>\r
515                     <return status='failure'>\r
516                         <parameter name='error-code' value='' />\r
517                         <parameter name='error-message' value='' />\r
518                     </return>\r
519                 </outcome>\r
520             </get-resource>\r
521             <return status='success'>\r
522                 <parameter name="ack-final-indicator" value="Y" />\r
523                 <parameter name="error-code" value="200" />\r
524                 <parameter name="error-message" value="`$error-message`" />\r
525             </return>\r
526         </block>\r
527     </method>\r
528 </service-logic>