cabcce51e49cbeaef8210a900f30adb4191fb24d
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_vnf-topology-operation.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='vnf-topology-operation' mode='sync'>\r
5         <block atomic="true">\r
6             <call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' ></call>\r
7             <switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\r
8                 <outcome value='assign'>\r
9                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' ></call>\r
10                 </outcome>\r
11                 <outcome value='activate'>\r
12                     <block atomic="true">\r
13                         <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
14                             <outcome value='ActivateSiteInstance'>\r
15                                 <call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-activate' mode='sync' ></call>\r
16                             </outcome>\r
17                             <outcome value='ActivateSDWANDeviceInstance'>\r
18                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-activate' mode='sync' ></call>\r
19                             </outcome>\r
20                             <outcome value='ActivateSDWANPortInstance'>\r
21                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-activate' mode='sync' ></call>\r
22                             </outcome>\r
23                             <outcome value='ActivateSDWANVpnInstance'>\r
24                                 <block atomic="true">\r
25                                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-activate' mode='sync' ></call>\r
26                                 </block>\r
27                             </outcome>\r
28                             <outcome value='ActivateSDWANSiteInstance'>\r
29                                 <block atomic="true">\r
30                                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-activate' mode='sync' ></call>\r
31                                 </block>\r
32                             </outcome>\r
33                             <outcome value='Other'>\r
34                                 <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' ></call>\r
35                             </outcome>\r
36                         </switch>\r
37                     </block>\r
38                 </outcome>\r
39                 <outcome value='deactivate'>\r
40                     <block atomic="true">\r
41                         <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
42                             <outcome value='DeactivateSiteInstance'>\r
43                                 <call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-deactivate' mode='sync' ></call>\r
44                             </outcome>\r
45                             <outcome value='DeactivateSDWANDeviceInstance'>\r
46                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-deactivate' mode='sync' ></call>\r
47                             </outcome>\r
48                             <outcome value='DeactivateSDWANPortInstance'>\r
49                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-deactivate' mode='sync' ></call>\r
50                             </outcome>\r
51                             <outcome value='DeactivateSDWANVpnInstance'>\r
52                                 <block atomic="true">\r
53                                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-deactivate' mode='sync' ></call>\r
54                                 </block>\r
55                             </outcome>\r
56                             <outcome value='DeactivateSDWANSiteInstance'>\r
57                                 <block atomic="true">\r
58                                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-deactivate' mode='sync' ></call>\r
59                                 </block>\r
60                             </outcome>\r
61                             <outcome value='Other'>\r
62                                 <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' ></call>\r
63                             </outcome>\r
64                         </switch>\r
65                     </block>\r
66                 </outcome>\r
67                 <outcome value='unassign'>\r
68                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' ></call>\r
69                 </outcome>\r
70                 <outcome value='create'>\r
71                     <block atomic="true">\r
72                         <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
73                             <outcome value='CreateSiteInstance'>\r
74                                 <call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-create' mode='sync' ></call>\r
75                             </outcome>\r
76                             <outcome value='CreateSDWANDeviceInstance'>\r
77                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-create' mode='sync' ></call>\r
78                             </outcome>\r
79                             <outcome value='CreateSDWANPortInstance'>\r
80                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-create' mode='sync' ></call>\r
81                             </outcome>\r
82                             <outcome value='CreateSDWANVpnInstance'>\r
83                                 <block atomic="true">\r
84                                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-create' mode='sync' ></call>\r
85                                 </block>\r
86                             </outcome>\r
87                             <outcome value='CreateSDWANSiteInstance'>\r
88                                 <block atomic="true">\r
89                                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-create' mode='sync' ></call>\r
90                                 </block>\r
91                             </outcome>\r
92                             <outcome value='Other'>\r
93                                 <block></block>\r
94                             </outcome>\r
95                         </switch>\r
96                     </block>\r
97                 </outcome>\r
98                 <outcome value='delete'>\r
99                     <block atomic="true">\r
100                         <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
101                             <outcome value='DeleteSiteInstance'>\r
102                                 <call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-delete' mode='sync' ></call>\r
103                             </outcome>\r
104                             <outcome value='DeleteSDWANDeviceInstance'>\r
105                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-delete' mode='sync' ></call>\r
106                             </outcome>\r
107                             <outcome value='DeleteSDWANPortInstance'>\r
108                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-delete' mode='sync' ></call>\r
109                             </outcome>\r
110                             <outcome value='DeleteSDWANVpnInstance'>\r
111                                 <block atomic="true">\r
112                                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-delete' mode='sync' ></call>\r
113                                 </block>\r
114                             </outcome>\r
115                             <outcome value='DeleteSDWANSiteInstance'>\r
116                                 <block atomic="true">\r
117                                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-delete' mode='sync' ></call>\r
118                                 </block>\r
119                             </outcome>\r
120                             <outcome value='Other'>\r
121                                 <block></block>\r
122                             </outcome>\r
123                         </switch>\r
124                     </block>\r
125                 </outcome>\r
126                 <outcome value='Other'>\r
127                     <return status='failure'>\r
128                         <parameter name='ack-final' value='Y'/>\r
129                         <parameter name="error-code" value="500" />\r
130                         <parameter name="error-message" value="`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />\r
131                     </return>\r
132                 </outcome>\r
133             </switch>\r
134             <return status='success'>\r
135                 <parameter name="ack-final-indicator" value="Y" />\r
136                 <parameter name="error-code" value="200" />\r
137                 <parameter name="error-message" value="`$error-message`" />\r
138             </return>\r
139         </block>\r
140     </method>\r
141 </service-logic>