NNI-based Service creation DG bug fixes (uni, l2vpn, and underlay resources).
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / sotn_nni / GENERIC-RESOURCE-API_sotn-vnf-topology-operation-underlay-activate.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='sotn-vnf-topology-operation-underlay-activate' mode='sync'>\r
5         <block atomic="true">\r
6             <switch test='`$service-data.vnfs.vnf_length`'>\r
7                 <outcome value='0'>\r
8                     <return status='failure'>\r
9                         <parameter name='ack-final' value='Y'/>\r
10                         <parameter name="error-code" value="500" />\r
11                         <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />\r
12                     </return>\r
13                 </outcome>\r
14                 <outcome value=''>\r
15                     <return status='failure'>\r
16                         <parameter name='ack-final' value='Y'/>\r
17                         <parameter name="error-code" value="500" />\r
18                         <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />\r
19                     </return>\r
20                 </outcome>\r
21                 <outcome value='Other'>\r
22                     <block atomic="true">\r
23                         <for index='vidx' start='0' end='`$service-data.vnfs.vnf_length`' >\r
24                             <block>\r
25                                 <switch test="`$service-data.vnfs.vnf[$vidx].vnf-id == $vnf-topology-operation-input.vnf-information.vnf-id`">\r
26                                     <outcome value='true'>\r
27                                         <set>\r
28                                             <parameter name='tmp.vidx' value='`$vidx`' />\r
29                                             <parameter name='ctx.vnf-data.' value='`$service-data.vnfs.vnf[$vidx].`' />\r
30                                         </set>\r
31                                     </outcome>\r
32                                 </switch>\r
33                             </block>\r
34                         </for>\r
35                     </block>\r
36                 </outcome>\r
37             </switch>\r
38             <switch test='`$service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status`'>\r
39                 <outcome value='Created'>\r
40                     <block atomic="true"></block>\r
41                 </outcome>\r
42                 <outcome value='Other'>\r
43                     <return status='failure'>\r
44                         <parameter name='ack-final' value='Y'/>\r
45                         <parameter name="error-code" value="500" />\r
46                         <parameter name="error-message" value="`'VNF is not in appropriate state for activate. Current state is ' + $service-data.vnfs.vnf[$tmp.nidx].vnf-data.vnf-level-oper-status.order-status`" />\r
47                     </return>\r
48                 </outcome>\r
49             </switch>\r
50             <set>\r
51                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\r
52                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\r
53                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\r
54             </set>\r
55             <set>\r
56                 <parameter name='vnfId' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\r
57                 <parameter name="vnf-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $vnf-topology-operation-input.service-information.service-instance-id  + '/service-data/vnfs/vnf/'  + $vnf-topology-operation-input.vnf-information.vnf-id  + '/vnf-data/'` " />\r
58             </set>\r
59             <set>\r
60                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.order-status' value='Active' />\r
61                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\r
62                 <parameter name='service-data.vnfs.vnf[$tmp.vidx].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\r
63             </set>\r
64             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
65         resource="generic-vnf"   \r
66                 key="generic-vnf.vnf-id = $vnfId" >\r
67                 <parameter name="orchestration-status" value="Active" />\r
68                 <parameter name="vnf-type" value="some vnf-type" />\r
69             </update>\r
70             <return status='success'>\r
71                 <parameter name="ack-final-indicator" value="Y" />\r
72                 <parameter name="error-code" value="200" />\r
73                 <parameter name="error-message" value="`$error-message`" />\r
74             </return>\r
75         </block>\r
76     </method>\r
77 </service-logic>