SDWAN device instance DGs
[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='Other'>\r
24                                 <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' ></call>\r
25                             </outcome>\r
26                         </switch>\r
27                     </block>\r
28                 </outcome>\r
29                 <outcome value='deactivate'>\r
30                     <block atomic="true">\r
31                         <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
32                             <outcome value='DeactivateSiteInstance'>\r
33                                 <call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-deactivate' mode='sync' ></call>\r
34                             </outcome>\r
35                             <outcome value='DeactivateSDWANDeviceInstance'>\r
36                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-deactivate' mode='sync' ></call>\r
37                             </outcome>\r
38                             <outcome value='DeactivateSDWANPortInstance'>\r
39                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-deactivate' mode='sync' ></call>\r
40                             </outcome>\r
41                             <outcome value='Other'>\r
42                                 <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' ></call>\r
43                             </outcome>\r
44                         </switch>\r
45                     </block>\r
46                 </outcome>\r
47                 <outcome value='unassign'>\r
48                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' ></call>\r
49                 </outcome>\r
50                 <outcome value='create'>\r
51                     <block atomic="true">\r
52                         <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
53                             <outcome value='CreateSiteInstance'>\r
54                                 <call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-create' mode='sync' ></call>\r
55                             </outcome>\r
56                             <outcome value='CreateSDWANDeviceInstance'>\r
57                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-create' mode='sync' ></call>\r
58                             </outcome>\r
59                             <outcome value='CreateSDWANPortInstance'>\r
60                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-create' mode='sync' ></call>\r
61                             </outcome>\r
62                             <outcome value='Other'>\r
63                                 <block></block>\r
64                             </outcome>\r
65                         </switch>\r
66                     </block>\r
67                 </outcome>\r
68                 <outcome value='delete'>\r
69                     <block atomic="true">\r
70                         <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
71                             <outcome value='DeleteSiteInstance'>\r
72                                 <call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-delete' mode='sync' ></call>\r
73                             </outcome>\r
74                             <outcome value='DeleteSDWANDeviceInstance'>\r
75                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-delete' mode='sync' ></call>\r
76                             </outcome>\r
77                             <outcome value='DeleteSDWANPortInstance'>\r
78                                 <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-delete' mode='sync' ></call>\r
79                             </outcome>\r
80                             <outcome value='Other'>\r
81                                 <block></block>\r
82                             </outcome>\r
83                         </switch>\r
84                     </block>\r
85                 </outcome>\r
86                 <outcome value='Other'>\r
87                     <return status='failure'>\r
88                         <parameter name='ack-final' value='Y'/>\r
89                         <parameter name="error-code" value="500" />\r
90                         <parameter name="error-message" value="`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />\r
91                     </return>\r
92                 </outcome>\r
93             </switch>\r
94             <return status='success'>\r
95                 <parameter name="ack-final-indicator" value="Y" />\r
96                 <parameter name="error-code" value="200" />\r
97                 <parameter name="error-message" value="`$error-message`" />\r
98             </return>\r
99         </block>\r
100     </method>\r
101 </service-logic>\r