Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_pnf-topology-operation-unassign.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='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
8                     <block></block>\r
9                 </outcome>\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
15                     </return>\r
16                 </outcome>\r
17             </switch>\r
18             <switch test='`$service-data.pnfs.pnf_length`'>\r
19                 <outcome value=''>\r
20                     <return status='success'>\r
21                         <parameter name="ack-final-indicator" value="Y" />\r
22                         <parameter name="error-code" value="200" />\r
23                     </return>\r
24                 </outcome>\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
30                                     <set>\r
31                                         <parameter name='pnf-index' value='`$idx`' />\r
32                                     </set>\r
33                                 </outcome>\r
34                             </switch>\r
35                         </for>\r
36                         <switch test='`$pnf-index`'>\r
37                             <outcome value=''>\r
38                                 <return status='success'>\r
39                                     <parameter name="ack-final-indicator" value="Y" />\r
40                                     <parameter name="error-code" value="200" />\r
41                                 </return>\r
42                             </outcome>\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
48                                                 <outcome value='1'>\r
49                                                     <set>\r
50                                                         <parameter name="service-data.pnfs." value=""/>\r
51                                                     </set>\r
52                                                 </outcome>\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
56                                                             <block>\r
57                                                                 <set>\r
58                                                                     <parameter name="$tmpidx" value="`$idx - 1`"/>\r
59                                                                 </set>\r
60                                                                 <set>\r
61                                                                     <parameter name="service-data.pnfs.pnf[$tmpidx]." value="" />\r
62                                                                 </set>\r
63                                                                 <set>\r
64                                                                     <parameter name="service-data.pnfs.pnf[$tmpidx]." value="$service-data.pnfs.pnf[$idx]." />\r
65                                                                 </set>\r
66                                                             </block>\r
67                                                         </for>\r
68                                                         <set>\r
69                                                             <parameter name="service-data.pnfs.pnf[$service-data.pnfs.pnf_length - 1]." value=""/>\r
70                                                         </set>\r
71                                                         <set>\r
72                                                             <parameter name="service-data.pnfs.pnf_length" value="`$service-data.pnfs.pnf_length - 1`"/>\r
73                                                         </set>\r
74                                                     </block>\r
75                                                 </outcome>\r
76                                             </switch>\r
77                                         </outcome>\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
82                                             </return>\r
83                                         </outcome>\r
84                                     </call>\r
85                                 </block>\r
86                             </outcome>\r
87                         </switch>\r
88                     </block>\r
89                 </outcome>\r
90             </switch>\r
91         </block>\r
92     </method>\r
93 </service-logic>