Inter Domain DG'S modified
[sdnc/oam.git] / platform-logic / optical-service / src / main / xml / optical-service_service-create-tapi.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='optical-service' version='${project.version}'>\r
4     <method rpc='service-create-tapi' mode='sync'>\r
5         <block atomic="true">\r
6             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
7                 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />\r
8                 <parameter name="level" value="info" />\r
9                 <parameter name="field1" value="Inside optical service create tapi"/>\r
10             </record>\r
11             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
12                 <parameter name='fileName' value='/opt/onap/sdnc/data/properties/optical-service-dg.properties' />\r
13                 <parameter name='contextPrefix' value='prop' />\r
14             </execute>\r
15             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
16 key='SELECT *\r
17 from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\r
18 WHERE interface_name = $optical-service-create-input.payload.service-aend.port-id'\r
19 pfx='db-aend'>\r
20                 <outcome value='success'>\r
21                     <set>\r
22                         <parameter name='aend-node-uuid' value='`$db-aend.pnf-name`' />\r
23                         <parameter name='aend-pnf-name' value='`$db-aend.pnf-id`' />\r
24                         <parameter name='aend-cep-list' value='`$db-aend.connection-point`' />\r
25                         <parameter name='aend-nep' value='`$db-aend.interface-name`' />\r
26                         <parameter name='aend-rate' value='`$db-aend.rate`' />\r
27                         <parameter name='esr-id' value='`$db-aend.controller-id`' />\r
28                     </set>\r
29                 </outcome>\r
30             </get-resource>\r
31             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
32 key='SELECT *\r
33 from TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE\r
34 WHERE interface_name = $optical-service-create-input.payload.service-zend.port-id'\r
35 pfx='db-zend'>\r
36                 <outcome value='success'>\r
37                     <set>\r
38                         <parameter name='zend-node-uuid' value='`$db-zend.pnf-name`' />\r
39                         <parameter name='zend-pnf-name' value='`$db-zend.pnf-id`' />\r
40                         <parameter name='zend-cep-list' value='`$db-zend.connection-point`' />\r
41                         <parameter name='zend-nep' value='`$db-zend.interface-name`' />\r
42                         <parameter name='zend-rate' value='`$db-zend.rate`' />\r
43                     </set>\r
44                 </outcome>\r
45             </get-resource>\r
46             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
47 resource="p-interface"\r
48  key="pnf.pnf-name = $aend-node-uuid AND\r
49      p-interface.interface-name = $aend-nep"\r
50 pfx='aend'      local-only='false'></get-resource>\r
51             <switch test='`$aend.network-interface-type`'>\r
52                 <outcome value='UNI'>\r
53                     <block atomic='true'>\r
54                         <set>\r
55                             <parameter name='aend-cep' value='`$aend-cep-list`' />\r
56                             <parameter name='aend-new' value='' />\r
57                             <parameter name='aend-new-rate' value='0' />\r
58                         </set>\r
59                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
60                             <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />\r
61                             <parameter name="level" value="info" />\r
62                             <parameter name="field1" value="Aend uni"/>\r
63                         </record>\r
64                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
65                             <parameter name="restapiUrl" value="` $controller-ip + $prop.tapi.cep.details.url + $aend-cep`" />\r
66                             <parameter name="restapiUser" value="admin"/>\r
67                             <parameter name="restapiPassword" value="admin"/>\r
68                             <parameter name="httpMethod" value="GET"/>\r
69                             <parameter name="responsePrefix" value="aend-cep-response"/>\r
70                             <parameter name='contentType' value='application/json' />\r
71                             <parameter name='format' value='json' />\r
72                             <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>\r
73                             <parameter name="trustStorePassword" value="adminadmin"/>\r
74                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
75                             <parameter name="keyStorePassword" value="adminadmin"/>\r
76                             <outcome value='failure'>\r
77                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
78                                     <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />\r
79                                     <parameter name="level" value="info" />\r
80                                     <parameter name="field1" value="Failed to get Aend cep details"/>\r
81                                 </record>\r
82                             </outcome>\r
83                             <outcome value='success'>\r
84                                 <block atomic="true">\r
85                                     <set>\r
86                                         <parameter name='aend-local-id' value="`'/OTN/' + $aend-pnf-name + '/' + $aend-cep-response.sip[0].name[2].value + ':' + $aend-cep-response.sip[0].name[1].value`" />\r
87                                     </set>\r
88                                 </block>\r
89                             </outcome>\r
90                         </execute>\r
91                     </block>\r
92                 </outcome>\r
93                 <outcome value='Other'>\r
94                     <block atomic='true'>\r
95                         <set>\r
96                             <parameter name='aend-new' value='' />\r
97                             <parameter name='aend-local-id' value='' />\r
98                         </set>\r
99                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
100                             <parameter name="original_string" value='`$aend-cep-list`'/>\r
101                             <parameter name="regex" value=","/>\r
102                             <parameter name="ctx_memory_result_key" value="param-prefix"/>\r
103                         </execute>\r
104                         <for index='idx' start='0' end='`$param-prefix_length`' >\r
105                             <block atomic="true">\r
106                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
107                                     <parameter name="restapiUrl" value="` $controller-ip + $prop.tapi.cep.details.url + $param-prefix[$idx]`" />\r
108                                     <parameter name="restapiUser" value="admin"/>\r
109                                     <parameter name="restapiPassword" value="admin"/>\r
110                                     <parameter name="httpMethod" value="GET"/>\r
111                                     <parameter name="responsePrefix" value="aend-cep-response"/>\r
112                                     <parameter name='contentType' value='application/json' />\r
113                                     <parameter name='format' value='json' />\r
114                                     <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>\r
115                                     <parameter name="trustStorePassword" value="adminadmin"/>\r
116                                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
117                                     <parameter name="keyStorePassword" value="adminadmin"/>\r
118                                     <outcome value='failure'>\r
119                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
120                                             <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />\r
121                                             <parameter name="level" value="info" />\r
122                                             <parameter name="field1" value="Failed to get Aend cep details"/>\r
123                                         </record>\r
124                                     </outcome>\r
125                                     <outcome value='success'>\r
126                                         <block atomic="true">\r
127                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
128                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />\r
129                                                 <parameter name="level" value="info" />\r
130                                                 <parameter name="field1" value="Sucessfully retrieved aend cep"/>\r
131                                             </record>\r
132                                             <switch test='`$aend-cep-response.sip[0].name[2].value == $optical-service-create-input.payload.service-rate`'>\r
133                                                 <outcome value='true'>\r
134                                                     <block atomic='true'>\r
135                                                         <set>\r
136                                                             <parameter name='aend-local-id' value="`$aend-local-id + '/OTN/' + $aend-pnf-name + '/' + $aend-cep-response.sip[0].name[2].value + ':' + $aend-cep-response.sip[0].name[1].value`" />\r
137                                                             <parameter name='aend-cep' value='`$param-prefix[$idx]`'/>\r
138                                                         </set>\r
139                                                         <break/>\r
140                                                     </block>\r
141                                                 </outcome>\r
142                                                 <outcome value='false'>\r
143                                                     <return status='failure'>\r
144                                                         <parameter name='error-code' value='500' />\r
145                                                         <parameter name='error-message' value='No service interface points could be found for A end ' />\r
146                                                         <parameter name='ack-final-indicator' value="Y" />\r
147                                                     </return>\r
148                                                 </outcome>\r
149                                             </switch>\r
150                                         </block>\r
151                                     </outcome>\r
152                                 </execute>\r
153                             </block>\r
154                         </for>\r
155                         <switch test='`$param-prefix_length == 1`'>\r
156                             <outcome value='true'>\r
157                                 <set>\r
158                                     <parameter name='zend-new' value="`$zend-new`" />\r
159                                 </set>\r
160                             </outcome>\r
161                             <outcome value='false'>\r
162                                 <for index='idy' start='0' end='`$param-prefix_length`' >\r
163                                     <switch test='`$idy`'>\r
164                                         <outcome value='`$param-prefix_length - 1`'>\r
165                                             <set>\r
166                                                 <parameter name='aend-new' value="`$aend-new + $param-prefix[$idy]`" />\r
167                                             </set>\r
168                                         </outcome>\r
169                                         <outcome value='Other'>\r
170                                             <set>\r
171                                                 <parameter name='aend-new' value="`$aend-new + $param-prefix[$idy] + ','`" />\r
172                                             </set>\r
173                                         </outcome>\r
174                                         <outcome value='`$idx`'>\r
175                                             <set>\r
176                                                 <parameter name='aend-new' value='`$aend-new`' />\r
177                                             </set>\r
178                                         </outcome>\r
179                                     </switch>\r
180                                 </for>\r
181                             </outcome>\r
182                         </switch>\r
183                     </block>\r
184                 </outcome>\r
185             </switch>\r
186             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
187 resource="p-interface"\r
188  key="pnf.pnf-name = $zend-node-uuid AND\r
189      p-interface.interface-name = $zend-nep"\r
190 pfx='zend'      local-only='false'></get-resource>\r
191             <switch test='`$zend.network-interface-type`'>\r
192                 <outcome value='UNI'>\r
193                     <block atomic='true'>\r
194                         <set>\r
195                             <parameter name='zend-cep' value='`$zend-cep-list`' />\r
196                             <parameter name='zend-new' value='' />\r
197                             <parameter name='zend-new-rate' value='0' />\r
198                         </set>\r
199                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
200                             <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />\r
201                             <parameter name="level" value="info" />\r
202                             <parameter name="field1" value="Zend uni"/>\r
203                         </record>\r
204                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
205                             <parameter name="restapiUrl" value="` $controller-ip + $prop.tapi.cep.details.url + $zend-cep`" />\r
206                             <parameter name="restapiUser" value="admin"/>\r
207                             <parameter name="restapiPassword" value="admin"/>\r
208                             <parameter name="httpMethod" value="GET"/>\r
209                             <parameter name="responsePrefix" value="zend-cep-response"/>\r
210                             <parameter name='contentType' value='application/json' />\r
211                             <parameter name='format' value='json' />\r
212                             <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>\r
213                             <parameter name="trustStorePassword" value="adminadmin"/>\r
214                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
215                             <parameter name="keyStorePassword" value="adminadmin"/>\r
216                             <outcome value='failure'>\r
217                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
218                                     <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />\r
219                                     <parameter name="level" value="info" />\r
220                                     <parameter name="field1" value="Failed to get Aend cep details"/>\r
221                                 </record>\r
222                             </outcome>\r
223                             <outcome value='success'>\r
224                                 <block atomic="true">\r
225                                     <set>\r
226                                         <parameter name='zend-local-id' value="`'/OTN/' + $zend-pnf-name + '/' + $zend-cep-response.sip[0].name[2].value + ':' + $zend-cep-response.sip[0].name[1].value`" />\r
227                                     </set>\r
228                                 </block>\r
229                             </outcome>\r
230                         </execute>\r
231                     </block>\r
232                 </outcome>\r
233                 <outcome value='Other'>\r
234                     <block atomic='true'>\r
235                         <set>\r
236                             <parameter name='zend-new' value='' />\r
237                             <parameter name='zend-local-id' value='' />\r
238                         </set>\r
239                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
240                             <parameter name="original_string" value='`$zend-cep-list`'/>\r
241                             <parameter name="regex" value=","/>\r
242                             <parameter name="ctx_memory_result_key" value="param-prefix1"/>\r
243                         </execute>\r
244                         <for index='idk' start='0' end='`$param-prefix1_length`' >\r
245                             <block atomic="true">\r
246                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
247                                     <parameter name="restapiUrl" value="` $controller-ip + $prop.tapi.cep.details.url + $param-prefix1[$idk]`" />\r
248                                     <parameter name="restapiUser" value="admin"/>\r
249                                     <parameter name="restapiPassword" value="admin"/>\r
250                                     <parameter name="httpMethod" value="GET"/>\r
251                                     <parameter name="responsePrefix" value="zend-cep-response"/>\r
252                                     <parameter name='contentType' value='application/json' />\r
253                                     <parameter name='format' value='json' />\r
254                                     <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>\r
255                                     <parameter name="trustStorePassword" value="adminadmin"/>\r
256                                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
257                                     <parameter name="keyStorePassword" value="adminadmin"/>\r
258                                     <outcome value='failure'>\r
259                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
260                                             <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />\r
261                                             <parameter name="level" value="info" />\r
262                                             <parameter name="field1" value="Failed to get zend cep details"/>\r
263                                         </record>\r
264                                     </outcome>\r
265                                     <outcome value='success'>\r
266                                         <block atomic="true">\r
267                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
268                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />\r
269                                                 <parameter name="level" value="info" />\r
270                                                 <parameter name="field1" value="Sucessfully retrieved zend cep"/>\r
271                                             </record>\r
272                                             <switch test='`$zend-cep-response.sip[0].name[2].value == $optical-service-create-input.payload.service-rate`'>\r
273                                                 <outcome value='true'>\r
274                                                     <block>\r
275                                                         <set>\r
276                                                             <parameter name='zend-local-id' value="`$zend-local-id + '/OTN/' + $zend-pnf-name + '/' + $zend-cep-response.sip[0].name[2].value + ':' + $zend-cep-response.sip[0].name[1].value`" />\r
277                                                             <parameter name='zend-cep' value='`$param-prefix1[$idk]`'/>\r
278                                                         </set>\r
279                                                         <break/>\r
280                                                     </block>\r
281                                                 </outcome>\r
282                                                 <outcome value='false'>\r
283                                                     <return status='failure'>\r
284                                                         <parameter name='error-code' value='500' />\r
285                                                         <parameter name='error-message' value='No service interface points could be found for Z end ' />\r
286                                                         <parameter name='ack-final-indicator' value="Y" />\r
287                                                     </return>\r
288                                                 </outcome>\r
289                                             </switch>\r
290                                         </block>\r
291                                     </outcome>\r
292                                 </execute>\r
293                             </block>\r
294                         </for>\r
295                         <switch test='`$param-prefix1_length == 1`'>\r
296                             <outcome value='true'>\r
297                                 <set>\r
298                                     <parameter name='zend-new' value="`$zend-new`" />\r
299                                 </set>\r
300                             </outcome>\r
301                             <outcome value='false'>\r
302                                 <for index='idl' start='0' end='`$param-prefix1_length`' >\r
303                                     <switch test='`$idl`'>\r
304                                         <outcome value='`$param-prefix1_length - 1`'>\r
305                                             <set>\r
306                                                 <parameter name='zend-new' value="`$zend-new + $param-prefix1[$idl]`" />\r
307                                             </set>\r
308                                         </outcome>\r
309                                         <outcome value='Other'>\r
310                                             <set>\r
311                                                 <parameter name='zend-new' value="`$zend-new + $param-prefix1[$idl] + ','`" />\r
312                                             </set>\r
313                                         </outcome>\r
314                                         <outcome value='`$idk`'>\r
315                                             <set>\r
316                                                 <parameter name='zend-new' value='`$zend-new`' />\r
317                                             </set>\r
318                                         </outcome>\r
319                                     </switch>\r
320                                 </for>\r
321                             </outcome>\r
322                         </switch>\r
323                     </block>\r
324                 </outcome>\r
325             </switch>\r
326             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
327                 <parameter name="original_string" value='`$esr-id`'/>\r
328                 <parameter name="regex" value="_"/>\r
329                 <parameter name="ctx_memory_result_key" value="new-esr"/>\r
330             </execute>\r
331             <set>\r
332                 <parameter name='service-name' value="`$optical-service-create-input.payload.service-name +'_' + $new-esr[2]`"/>\r
333                 <parameter name='svc-action' value="CREATE" />\r
334             </set>\r
335             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
336                 <parameter name="file" value="/opt/opendaylight/current/data/log/service-create-tapi.log" />\r
337                 <parameter name="level" value="info" />\r
338                 <parameter name="field1" value="A end local-id"/>\r
339                 <parameter name="field2" value="`$aend-local-id`"/>\r
340                 <parameter name="field3" value="Z end local-id"/>\r
341                 <parameter name="field4" value="`$zend-local-id`"/>\r
342                 <parameter name="field5" value="Service name"/>\r
343                 <parameter name="field6" value="`$service-name`"/>\r
344             </record>\r
345             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
346                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/optical-service-create-tapi.json'`" />\r
347                 <parameter name="restapiUrl" value="`$controller-ip + '/cxf/tapi/v2/connectivities/tapi-services'`"/>\r
348                 <parameter name="restapiUser" value="admin"/>\r
349                 <parameter name="restapiPassword" value="admin"/>\r
350                 <parameter name="httpMethod" value="POST"/>\r
351                 <parameter name="responsePrefix" value="tapi-service-response"/>\r
352                 <parameter name='contentType' value='application/json' />\r
353                 <parameter name='format' value='json' />\r
354                 <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.tapi.jks"/>\r
355                 <parameter name="trustStorePassword" value="adminadmin"/>\r
356                 <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
357                 <parameter name="keyStorePassword" value="adminadmin"/>\r
358                 <outcome value='failure'>\r
359                     <block atomic='true'>\r
360                         <return status='failure'>\r
361                             <parameter name='error-code' value='500' />\r
362                             <parameter name='error-message' value="`'Service creation failed for'+ ':' + $optical-service-create-input.payload.service-name`" />\r
363                             <parameter name='ack-final-indicator' value="Y" />\r
364                         </return>\r
365                     </block>\r
366                 </outcome>\r
367                 <outcome value='success'>\r
368                     <block atomic='true'>\r
369                         <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL" key="INSERT INTO REQUEST_DETAILS (request_id, controller_id, status, service_rate, service_instance_id, service_type, global_customer_id, notification_url) VALUES ( $optical-service-create-input.request-id , $controller-id , 'CREATED' , $optical-service-create-input.payload.service-rate ,  $optical-service-create-input.service-id , $optical-service-create-input.service-type , $optical-service-create-input.global-customer-id , null );"></save>\r
370                         <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \r
371 resource='SQL' \r
372 key='UPDATE TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE SET connection_point = $aend-new WHERE interface_name = $aend-nep'\r
373 force='true' pfx='save-result'></save>\r
374                         <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \r
375 resource='SQL' \r
376 key='UPDATE TOPOLOGY_LOGICAL_RELATION_TO_PINTERFACE SET connection_point = $zend-new WHERE interface_name = $zend-nep'\r
377 force='true' pfx='save-result'></save>\r
378                         <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance'  \r
379      key='customer.global-customer-id = $optical-service-create-input.global-customer-id AND\r
380      service-subscription.service-type = $optical-service-create-input.service-type AND\r
381      service-instance.service-instance-id = $optical-service-create-input.service-id' >\r
382                             <parameter name='service-instance-id' value='`$optical-service-create-input.service-id`' />\r
383                             <parameter name='service-instance-name' value='`$optical-service-create-input.payload.service-name`' />\r
384                             <parameter name='service-type' value='Domain-Service' />\r
385                             <parameter name='orchestration-status' value='CREATED' />\r
386                             <parameter name='service-rate' value='`$optical-service-create-input.payload.service-rate`' />\r
387                             <parameter name='service-layer' value='ODU' />\r
388                         </save>\r
389                         <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance:relationship-list'  \r
390      key='customer.global-customer-id = $optical-service-create-input.global-customer-id AND\r
391      service-subscription.service-type = $optical-service-create-input.service-type AND\r
392      service-instance.service-instance-id = $optical-service-create-input.service-id' force="true" pfx="tmp.AnAI-data">\r
393                             <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />\r
394                             <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $aend-node-uuid + '/p-interfaces/p-interface/' + $optical-service-create-input.payload.service-aend.port-id `" />\r
395                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
396                             <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$aend-node-uuid`" />\r
397                             <parameter name="relationship-list.relationship[1].related-to" value="p-interface" />\r
398                             <parameter name="relationship-list.relationship[1].related-link" value="`'/network/pnfs/pnf/' + $zend-node-uuid + '/p-interfaces/p-interface/' + $optical-service-create-input.payload.service-zend.port-id `" />\r
399                             <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
400                             <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="`$zend-node-uuid`" />\r
401                         </save>\r
402                         <set>\r
403                             <parameter name='final-response-code' value="200" />\r
404                         </set>\r
405                     </block>\r
406                 </outcome>\r
407             </execute>\r
408         </block>\r
409     </method>\r
410 </service-logic>