2c2d73da3eec95207abc411de71d6d172946b640
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_vnf-topology-operation-activate.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='GENERIC-RESOURCE-API' version='${project.version}'><method rpc='vnf-topology-operation-activate' mode='sync'>\r
2 <block atomic="true"><switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
3 <outcome value='CreateVnfInstance'>\r
4 <block>\r
5 </block></outcome><outcome value='Other'>\r
6 <return status='failure'>\r
7         <parameter name='ack-final' value='Y'/>\r
8         <parameter name="error-code" value="500" />\r
9     <parameter name="error-message" value="If svc-action is 'activate' then request-action must be 'CreateVnfInstance'" />\r
10 </return></outcome></switch><switch test='`$service-data.vnfs.vnf_length`'>\r
11 <outcome value=''>\r
12 <return status='failure'>\r
13         <parameter name='ack-final' value='Y'/>\r
14         <parameter name="error-code" value="404" />\r
15     <parameter name="error-message" value="There are no VNFs in MD-SAL" />\r
16 </return></outcome></switch><for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
17 <switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`'>\r
18 <outcome value='true'>\r
19 <set>\r
20 <parameter name='vnf-index' value='`$idx`' />\r
21 </set></outcome></switch></for><switch test='`$vnf-index`'>\r
22 <outcome value=''>\r
23 <return status='failure'>\r
24         <parameter name='ack-final' value='Y'/>\r
25         <parameter name="error-code" value="404" />\r
26     <parameter name="error-message" value="'Could not find VNF ' + $vnf-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'" />\r
27 </return></outcome></switch><switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status == 'PendingCreate'`">\r
28 <outcome value='false'>\r
29 <return status='failure'>\r
30         <parameter name='ack-final' value='Y'/>\r
31         <parameter name="error-code" value="500" />\r
32     <parameter name="error-message" value="`'Order status must be PendingCreate, but is currently '\r
33       + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status`" />\r
34 </return></outcome></switch><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
35    resource="generic-vnf"\r
36    key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"\r
37    force="true" pfx="tmp.AnAI-data">\r
38 <parameter name="prov-status" value="NVTPROV" />\r
39 <outcome value='failure'>\r
40 <return status='failure'>\r
41         <parameter name='ack-final' value='Y'/>\r
42         <parameter name="error-code" value="500" />\r
43     <parameter name="error-message" value="Error updating generic-vnf in AAI" />\r
44 </return></outcome><outcome value='not-found'>\r
45 <return status='failure'>\r
46         <parameter name='ack-final' value='Y'/>\r
47         <parameter name="error-code" value="500" />\r
48     <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />\r
49 </return></outcome></update><set>\r
50 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\r
51 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\r
52 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\r
53 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\r
54 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\r
55 \r
56 </set><set>\r
57 <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
58  + $tunnelxconn-topology-operation-input.service-information.service-instance-id\r
59  + '/service-data/service-topology/'`"/>\r
60 </set><set>\r
61 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='Created' />\r
62 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\r
63 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\r
64 </set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
65 <parameter name='filename' value='/var/tmp/vnf-top-act.log' />\r
66 </execute><return status='success'>\r
67 <parameter name="ack-final-indicator" value="Y" />\r
68 <parameter name="error-code" value="200" />\r
69 <parameter name="error-message" value="`$error-message`" />\r
70 </return></block></method></service-logic>\r