db0f8cba2e573bd84a7ecae30140ceaa9325b0b4
[sdnc/oam.git] / platform-logic / vnfapi / src / main / xml / VNF-API_vnf-topology-operation.xml
1 <service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='VNF-API' version='${project.version}'><method rpc='vnf-topology-operation' mode='sync'>\r
2 <block atomic="true"><record plugin="com.att.sdnctl.sli.recording.FileRecorder">\r
3 <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log"/>\r
4 <parameter name="field1" value="__TIMESTAMP__"/>\r
5 <parameter name="field2" value="svc-topology-operation"/>\r
6 <parameter name="field3" value="`$vnf-topology-operation-input.sdnc-request-header.svc-action`"/>\r
7 <parameter name="field4" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`"/>\r
8 <parameter name="field5" value="`$vnf-topology-operation-input.service-information.service-instance-id`"/>\r
9 <parameter name="field6" value="`$vnf-topology-operation-input.request-information.request-id`"/>\r
10 <parameter name="field7" value="`$vnf-topology-operation-input.request-information.request-action`"/>\r
11 <parameter name="field8" value="`$vnf-topology-operation-input.request-information.source`"/>\r
12 <parameter name="field9" value="`$vnf-topology-operation-input.vnf-request-information.vnf-name`"/>\r
13 <parameter name="field10" value="`$vnf-topology-operation-input.vnf-request-information.vnf-type`"/>\r
14 <parameter name="field11" value="`$vnf-topology-operation-input.vnf-request-information.vnf-id`"/>\r
15 <parameter name="field12" value="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"/>\r
16 <parameter name="field13" value="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"/>\r
17 <parameter name="field14" value="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"/>\r
18 <parameter name="field15" value="`$vnf-topology-operation-input.vnf-request-information.tenant`"/>\r
19 <parameter name="field16" value="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-name`"/>\r
20 <parameter name="field17" value="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-type`"/>\r
21 <parameter name="field18" value="`$preload-data.oper-status.order-status`"/></record><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-name`"><outcome value='Other'><switch test="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-name`"><outcome value='Other'><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-name == $preload-data.vnf-topology-information.vnf-topology-identifier.vnf-name`"><outcome value='false'>\r
22 <return status='failure'>\r
23         <parameter name='error-code' value='400'/>\r
24         <parameter name='error-message' value='request.vnf-name not found in preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>\r
25         <parameter name='error-code' value='400'/>\r
26         <parameter name='error-message' value='No preload data found to match vnf-name'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>\r
27         <parameter name='error-code' value='400'/>\r
28         <parameter name='error-message' value='vnf-name is required'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-type`"><outcome value='Other'><switch test="`$preload-data.vnf-topology-information.vnf-topology-identifier.vnf-type`"><outcome value='Other'><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-type == $preload-data.vnf-topology-information.vnf-topology-identifier.vnf-type`"><outcome value='false'>\r
29 <return status='failure'>\r
30         <parameter name='error-code' value='400'/>\r
31         <parameter name='error-message' value='request.vnf-type not found in preload-data'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>\r
32         <parameter name='error-code' value='400'/>\r
33         <parameter name='error-message' value='No preload data found to match vnf-type'/></return></outcome></switch></outcome><outcome value=''><return status='failure'>\r
34         <parameter name='error-code' value='400'/>\r
35         <parameter name='error-message' value='vnf-type is required'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.vnf-id`"><outcome value='0'><return status='failure'>\r
36         <parameter name='error-code' value='400'/>\r
37         <parameter name='error-message' value='vf-modules vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>\r
38         <parameter name='error-code' value='400'/>\r
39         <parameter name='error-message' value='vf-modules vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.sdnc-request-header.svc-action`">\r
40 <!--\r
41 leaf svc-action { \r
42         type enumeration { \r
43                 enum "reserve";\r
44                 enum "assign";\r
45                 enum "activate";  // equal to commit\r
46                 enum "delete";    // equal to commit\r
47                 enum "changeassign";\r
48                 enum "changedelete";\r
49                 enum "rollback";\r
50         }\r
51 }\r
52 -->\r
53 \r
54 <outcome value='assign'><block>\r
55 <block atomic="true">\r
56 <switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>\r
57         <parameter name='error-code' value='400'/>\r
58         <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>\r
59         <parameter name='error-code' value='400'/>\r
60         <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>\r
61         <parameter name='error-code' value='400'/>\r
62         <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>\r
63         <parameter name='error-code' value='400'/>\r
64         <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>\r
65         <parameter name='error-code' value='400'/>\r
66         <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-assign' mode='sync' ></call></block></outcome><outcome value='changeassign'><block>\r
67 <block atomic="true">\r
68 <switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>\r
69         <parameter name='error-code' value='400'/>\r
70         <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>\r
71         <parameter name='error-code' value='400'/>\r
72         <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>\r
73         <parameter name='error-code' value='400'/>\r
74         <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>\r
75         <parameter name='error-code' value='400'/>\r
76         <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>\r
77         <parameter name='error-code' value='400'/>\r
78         <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-changeassign' mode='sync' ></call></block></outcome><outcome value='activate'><block>\r
79 <block atomic="true">\r
80 <switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>\r
81         <parameter name='error-code' value='400'/>\r
82         <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>\r
83         <parameter name='error-code' value='400'/>\r
84         <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>\r
85         <parameter name='error-code' value='400'/>\r
86         <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>\r
87         <parameter name='error-code' value='400'/>\r
88         <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>\r
89         <parameter name='error-code' value='400'/>\r
90         <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-activate' mode='sync' ></call></block></outcome><outcome value='rollback'><block>\r
91 <block atomic="true">\r
92 <switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-id`"><outcome value='0'><return status='failure'>\r
93         <parameter name='error-code' value='400'/>\r
94         <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome><outcome value=''><return status='failure'>\r
95         <parameter name='error-code' value='400'/>\r
96         <parameter name='error-message' value='generic-vnf-id cannot be NULL or 0'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-name`"><outcome value=''><return status='failure'>\r
97         <parameter name='error-code' value='400'/>\r
98         <parameter name='error-message' value='generic-vnf-name cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.generic-vnf-type`"><outcome value=''><return status='failure'>\r
99         <parameter name='error-code' value='400'/>\r
100         <parameter name='error-message' value='generic-vnf-type cannot be NULL'/></return></outcome></switch><switch test="`$vnf-topology-operation-input.vnf-request-information.aic-cloud-region`"><outcome value=''><return status='failure'>\r
101         <parameter name='error-code' value='400'/>\r
102         <parameter name='error-message' value='aic-cloud-region cannot be NULL'/></return></outcome></switch></block><call module='VNF-API' rpc='vnf-topology-rollback' mode='sync' ></call></block></outcome><outcome value='delete'><call module='VNF-API' rpc='vnf-topology-delete' mode='sync' ></call></outcome><outcome value='Other'><return status='failure'>\r
103         <parameter name='error-code' value='400'/>\r
104         <parameter name='error-message' value='svc-action not recognized'/>\r
105 </return></outcome></switch></block></method></service-logic>