Merge "Remove test for Active on Delete"
[sdnc/oam.git] / platform-logic / vnfapi / src / main / xml / VNF-API_vnf-topology-changeassign.xml
1 <service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-changeassign' mode='sync'>\r
2 <block atomic="true"><switch test="`$service-data.oper-status.order-status == Active`">\r
3 <!--\r
4 leaf order-status {\r
5         type enumeration {\r
6                 enum "Active";\r
7                 enum "PendingAssignment";\r
8                 enum "PendingCreate";\r
9                 enum "PendingUpdate";\r
10                 enum "Deleted";\r
11         }\r
12 }\r
13 --><outcome value='false'><return status='failure'>\r
14         <parameter name='error-code' value='400'/>\r
15         <parameter name='error-message' value='Invalid service-data order status'/></return></outcome></switch><call module='VNF-API' rpc='vnf-topology-assign-vfmodule' mode='sync' ></call><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
16         resource="vf-module" \r
17                 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id \r
18                         and generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id" \r
19                 local-only="false" \r
20                 pfx="tmp.AnAI.vfmodule"><outcome value='failure'>\r
21 <return status='failure'>\r
22         <parameter name='error-code' value='500'/>\r
23         <parameter name='error-message' value="`'An error occurred while querying vf-module from AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome><outcome value='not-found'>\r
24 <return status='failure'>\r
25         <parameter name='error-code' value='500'/>\r
26         <parameter name='error-message' value="`'An error occurred while querying vf-module from AnAI with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/></return></outcome></get-resource><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
27         resource="vf-module:relationship-list" \r
28                 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id \r
29                         AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id \r
30                         AND related-to = l3-network" \r
31         force="true" \r
32         local-only="false"><outcome value='failure'>\r
33 <return status='failure'>\r
34         <parameter name='error-code' value='500'/>\r
35         <parameter name='error-message' value="`'An error occurred while deleting existing vf-module l3-network relationship in AnAI with with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id + ' vf-module update FAILED.'`"/></return></outcome></delete><switch test="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><outcome value=''><set>\r
36 <parameter name = "service-data.vnf-topology-information.vnf-assignments.vnf-networks_length" value="0" />\r
37 </set></outcome></switch><for index="i" start="0" end="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks_length`"><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
38         resource="vf-module:relationship-list" \r
39                 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id \r
40                         AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id" \r
41         force="true" \r
42         local-only="false">\r
43         \r
44         <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
45         <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />\r
46         <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id`" /><outcome value='failure'>\r
47 <block>\r
48 <set>\r
49         <parameter name="error-code" value="500" />\r
50         <parameter name="error-message" value="`' | An error occurred while saving l3-network relationship with network-id = ' + $service-data.vnf-topology-information.vnf-assignments.vnf-networks[$i].network-id + ' for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />\r
51 </set><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
52         resource="vf-module:relationship-list" \r
53                 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id \r
54                         AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id \r
55                         AND related-to = l3-network" \r
56         force="true" \r
57         local-only="false"></delete><for index="i" start="0" end="`$tmp.AnAI.vfmodule.relationship-list.relationship_length`"><switch test="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].related-to`"><outcome value='l3-network'><for index="j" start="0" end="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].relationship-data_length`"><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
58         resource="vf-module:relationship-list" \r
59                 key="vf-module.vf-module-id = $vnf-topology-operation-input.vnf-request-information.vnf-id \r
60                         AND generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-request-information.generic-vnf-id" \r
61         force="true" \r
62         local-only="false">\r
63         \r
64         <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
65         <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />\r
66         <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.AnAI.vfmodule.relationship-list.relationship[$i].relationship-data[$j].relationship-value`" /><outcome value='failure'>\r
67 <set>\r
68         <parameter name="error-code" value="500" />\r
69         <parameter name="error-message" value="`$error-message + ' | An error occurred while during rollback of l3-network relationship for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />\r
70 </set></outcome><outcome value='not-found'>\r
71 <set>\r
72         <parameter name="error-code" value="500" />\r
73         <parameter name="error-message" value="`$error-message + ' | An error occurred while during rollback of l3-network relationship for vf-module with vf-module-id = ' + $vnf-topology-operation-input.vnf-request-information.vnf-id + ' and generic-vnf-id = ' + $vnf-topology-operation-input.vnf-request-information.generic-vnf-id`" />\r
74 </set></outcome></save></for></outcome></switch></for><return status='failure'>\r
75         <parameter name='error-code' value='500'/>\r
76         <parameter name='error-message' value="`'Failed to update vf-module l3-network relationship in AnAI. ' + $error-message`"/></return></block></outcome></save></for><set>\r
77         <parameter name="service-data.oper-status.last-order-status" value="`$service-data.oper-status.order-status`"/></set><set>\r
78         <parameter name="service-data.oper-status.order-status" value="PendingUpdate"/></set><set>\r
79         <parameter name="service-data.oper-status.last-action" value="`$service-data.request-information.request-action`"/></set><set>\r
80 <parameter name="ack-final" value="Y"/></set><return status='success'>\r
81         <parameter name="error-code" value="200" /></return></block></method></service-logic>