2 xmlns='http://www.onap.org/sdnc/svclogic'
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}'>
4 <method rpc='site-vnf-topology-operation-delete' mode='sync'>
6 <switch test='`$service-data.vnfs.vnf_length`'>
8 <return status='failure'>
9 <parameter name='ack-final' value='Y'/>
10 <parameter name="error-code" value="500" />
11 <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
15 <return status='failure'>
16 <parameter name='ack-final' value='Y'/>
17 <parameter name="error-code" value="500" />
18 <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
21 <outcome value='Other'>
23 <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >
24 <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">
25 <outcome value='true'>
27 <parameter name='tmp.vidx' value='`$vidx`' />
28 <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />
33 <switch test="`$tmp.vidx`">
35 <return status='failure'>
36 <parameter name='ack-final' value='Y'/>
37 <parameter name="error-code" value="500" />
38 <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
45 <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status == 'PendingDelete'`">
46 <outcome value='false'>
47 <return status='failure'>
48 <parameter name='ack-final' value='Y'/>
49 <parameter name="error-code" value="500" />
50 <parameter name="error-message" value="Cannot delete a VNF in a Created state" />
54 <switch test="`$ctx.vnf-data.vf-modules.vf-module_length`">
61 <outcome value='Other'>
62 <return status='failure'>
63 <parameter name='ack-final' value='Y'/>
64 <parameter name="error-code" value="500" />
65 <parameter name="error-message" value="Cannot delete the VNF because there are VFs defined" />
69 <switch test='`$service-data.vnfs.vnf_length`'>
72 <parameter name="service-data.vnfs." value=""/>
75 <outcome value='Other'>
77 <for index='idx' start='`$vnf-index + 1`' end='`$service-data.vnfs.vnf_length`' >
79 <parameter name="$tmpidx" value="`$idx - 1`"/>
80 <parameter name="service-data.vnfs.vnf[$tmpidx]." value="$service-data.vnfs.vnf[$idx]." />
84 <parameter name="service-data.vnfs.vnf[$service-data.vnfs.vnf_length-1]." value=""/>
87 <parameter name="service-data.vnfs.vnf_length" value="`$service-data.vnfs.vnf_length - 1`"/>
92 <delete plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='generic-vnf'
93 key='generic-vnf.vnf-id = $prop.vnf-index' ></delete>
94 <return status='success'>
95 <parameter name="ack-final-indicator" value="Y" />
96 <parameter name="error-code" value="200" />
97 <parameter name="error-message" value="`$error-message`" />