generic-resource-api DG enhancement
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_vnf-topology-operation.xml
index 15b31e1..ecee104 100644 (file)
             <call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' ></call>\r
             <switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\r
                 <outcome value='assign'>\r
-                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' ></call>\r
+                    <block atomic="true">\r
+                        <set>\r
+                            <parameter name='skip-mdsal-update' value='Y' />\r
+                        </set>\r
+                        <set>\r
+                            <parameter name='ack-final' value='N' />\r
+                        </set>\r
+                    </block>\r
                 </outcome>\r
                 <outcome value='activate'>\r
-                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' ></call>\r
+                    <block atomic="true">\r
+                        <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
+                            <outcome value='ActivateSiteInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-activate' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='ActivateSDWANDeviceInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-activate' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='ActivateSDWANPortInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-activate' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='ActivateSDWANVpnInstance'>\r
+                                <block atomic="true">\r
+                                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-activate' mode='sync' ></call>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='ActivateSDWANSiteInstance'>\r
+                                <block atomic="true">\r
+                                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-activate' mode='sync' ></call>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='Other'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' ></call>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
                 </outcome>\r
                 <outcome value='deactivate'>\r
-                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' ></call>\r
+                    <block atomic="true">\r
+                        <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
+                            <outcome value='DeactivateSiteInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-deactivate' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='DeactivateSDWANDeviceInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-deactivate' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='DeactivateSDWANPortInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-deactivate' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='DeactivateSDWANVpnInstance'>\r
+                                <block atomic="true">\r
+                                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-deactivate' mode='sync' ></call>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='DeactivateSDWANSiteInstance'>\r
+                                <block atomic="true">\r
+                                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-deactivate' mode='sync' ></call>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='Other'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' ></call>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
                 </outcome>\r
                 <outcome value='unassign'>\r
                     <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' ></call>\r
                 </outcome>\r
-                <outcome value='changeassign'>\r
-                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-changeassign' mode='sync' ></call>\r
+                <outcome value='create'>\r
+                    <block atomic="true">\r
+                        <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
+                            <outcome value='CreateSiteInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-create' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='CreateSDWANDeviceInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-create' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='CreateSDWANPortInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-create' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='CreateSDWANVpnInstance'>\r
+                                <block atomic="true">\r
+                                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-create' mode='sync' ></call>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='CreateSDWANSiteInstance'>\r
+                                <block atomic="true">\r
+                                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-create' mode='sync' ></call>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='Other'>\r
+                                <block></block>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='delete'>\r
+                    <block atomic="true">\r
+                        <switch test='`$vnf-topology-operation-input.request-information.request-action`'>\r
+                            <outcome value='DeleteSiteInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='site-vnf-topology-operation-delete' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='DeleteSDWANDeviceInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-device-delete' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='DeleteSDWANPortInstance'>\r
+                                <call module='GENERIC-RESOURCE-API' rpc='sdwan-vnf-topology-operation-wanport-delete' mode='sync' ></call>\r
+                            </outcome>\r
+                            <outcome value='DeleteSDWANVpnInstance'>\r
+                                <block atomic="true">\r
+                                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-delete' mode='sync' ></call>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='DeleteSDWANSiteInstance'>\r
+                                <block atomic="true">\r
+                                    <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-vpn-site-resource-delete' mode='sync' ></call>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='Other'>\r
+                                <block></block>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
                 </outcome>\r
                 <outcome value='Other'>\r
                     <return status='failure'>\r