5aed4fc8746d79633bc1be07bfec8f311dcbb649
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.xml
1 <service-logic
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='self-serve-vfmodule-changeassign' mode='sync'>
5         <block atomic="true">
6             <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`'>
7                 <outcome value=''>
8                     <return status='failure'>
9                         <parameter name='ack-final' value='Y'/>
10                         <parameter name="error-code" value="500" />
11                         <parameter name="error-message" value="no param name/value provided in vf-module-request-input" />
12                     </return>
13                 </outcome>
14             </switch>
15             <for index='i' start='0' end='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param_length`' >
16                 <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length == ''`">
17                     <outcome value='false'>
18                         <block atomic='true'>
19                             <set>
20                                 <parameter name='ss.input.param.found.in.service.param' value='false' />
21                             </set>
22                             <for index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length`' >
23                                 <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$j].name == $vf-module-topology-operation-input.vf-module-request-input.vf-module-input-parameters.param[$i].name`'>
24                                     <outcome value='true'>
25                                         <block atomic='true'>
26                                             <set>
27                                                 <parameter name='`service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$j].resource-resolution-data.status`' value='PENDING'/>
28                                                 <parameter name='ss.input.param.index' value='`$i`' />
29                                                 <parameter name='ss.service-data.param.index' value='`$j`' />
30                                                 <parameter name='ss.input.param.found.in.service.param' value='true' />
31                                                 <parameter name='ss.capability-type' value='vf-module' />
32                                                 <parameter name='ss.capability-action' value='changeassign' />
33                                             </set>
34                                             <call module='GENERIC-RESOURCE-API' rpc='self-serve-generate-name-changeassign' mode='sync' >
35                                                 <outcome value='failure'>
36                                                     <return status='failure'>
37                                                         <parameter name='ack-final' value='Y'/>
38                                                         <parameter name="error-code" value="500" />
39                                                         <parameter name="error-message" value="Error from self-service-generate-name-changeassign" />
40                                                     </return>
41                                                 </outcome>
42                                                 <outcome value='not-found'>
43                                                     <return status='failure'>
44                                                         <parameter name='ack-final' value='Y'/>
45                                                         <parameter name="error-code" value="500" />
46                                                         <parameter name="error-message" value="Error from self-service-generate-name-changeassign" />
47                                                     </return>
48                                                 </outcome>
49                                             </call>
50                                             <return status='success'></return>
51                                         </block>
52                                     </outcome>
53                                 </switch>
54                             </for>
55                             <switch test='`$ss.input.param.found.in.service.param`'>
56                                 <outcome value='false'>
57                                     <return status='failure'>
58                                         <parameter name='ack-final' value='Y'/>
59                                         <parameter name="error-code" value="500" />
60                                         <parameter name="error-message" value="`'No param with param[].name = ' +  $vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[$i].name + ' found in service-data.'`" />
61                                     </return>
62                                 </outcome>
63                             </switch>
64                         </block>
65                     </outcome>
66                 </switch>
67             </for>
68         </block>
69     </method>
70 </service-logic>