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='pnf-topology-operation-unassign' mode='sync'>
\r
5 <block atomic="true">
\r
6 <switch test='`$pnf-topology-operation-input.request-information.request-action`'>
\r
7 <outcome value='DeletePnfInstance'>
\r
10 <outcome value='Other'>
\r
11 <return status='failure'>
\r
12 <parameter name='ack-final' value='Y'/>
\r
13 <parameter name="error-code" value="500" />
\r
14 <parameter name="error-message" value="If svc-action is 'unassign' then request-action must be 'DeletePnfInstance'" />
\r
18 <switch test='`$service-data.pnfs.pnf_length`'>
\r
20 <return status='success'>
\r
21 <parameter name="ack-final-indicator" value="Y" />
\r
22 <parameter name="error-code" value="200" />
\r
25 <outcome value='Other'>
\r
26 <block atomic="true">
\r
27 <for index='idx' start='0' end='`$service-data.pnfs.pnf_length`' >
\r
28 <switch test='`$service-data.pnfs.pnf[$idx].pnf-id == $pnf-topology-operation-input.pnf-details.pnf-id`' >
\r
29 <outcome value='true'>
\r
31 <parameter name='pnf-index' value='`$idx`' />
\r
36 <switch test='`$pnf-index`'>
\r
38 <return status='success'>
\r
39 <parameter name="ack-final-indicator" value="Y" />
\r
40 <parameter name="error-code" value="200" />
\r
43 <outcome value='Other'>
\r
44 <block atomic="true">
\r
45 <call module='GENERIC-RESOURCE-API' rpc='self-serve-pnf-unassign' mode='sync' >
\r
46 <outcome value='success'>
\r
47 <switch test='`$service-data.pnfs.pnf_length`'>
\r
50 <parameter name="service-data.pnfs." value=""/>
\r
53 <outcome value='Other'>
\r
54 <block atomic="true">
\r
55 <for index='idx' start='`$pnf-index + 1`' end='`$service-data.pnfs.pnf_length`' >
\r
58 <parameter name="$tmpidx" value="`$idx - 1`"/>
\r
61 <parameter name="service-data.pnfs.pnf[$tmpidx]." value="" />
\r
64 <parameter name="service-data.pnfs.pnf[$tmpidx]." value="$service-data.pnfs.pnf[$idx]." />
\r
69 <parameter name="service-data.pnfs.pnf[$service-data.pnfs.pnf_length - 1]." value=""/>
\r
72 <parameter name="service-data.pnfs.pnf_length" value="`$service-data.pnfs.pnf_length - 1`"/>
\r
78 <outcome value='failure'>
\r
79 <return status='failure'>
\r
80 <parameter name='error-code' value='500' />
\r
81 <parameter name='error-message' value="`'Encountered error while unassigning self-serve pnf resources with error: '+ $error-message`" />
\r