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