NonRT-RIC A1 Northbound API
[nonrtric.git] / sdnc-a1-controller / oam / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_validate-connection-attachment-input.xml
diff --git a/sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml b/sdnc-a1-controller/oam/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-connection-attachment-input.xml
new file mode 100644 (file)
index 0000000..ec0301a
--- /dev/null
@@ -0,0 +1,331 @@
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    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
+    <method rpc='validate-connection-attachment-input' mode='sync'>\r
+        <block atomic="true">\r
+            <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>\r
+                <outcome value=''>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" />\r
+                    </return>\r
+                </outcome>\r
+            </switch>\r
+            <switch test='`$connection-attachment-topology-operation-input.service-information.service-instance-id`'>\r
+                <outcome value=''>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="service-information.service-instance-id is a required input" />\r
+                    </return>\r
+                </outcome>\r
+            </switch>\r
+            <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>\r
+                <outcome value=''>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="service-information.parent-service-instance-id is a required input" />\r
+                    </return>\r
+                </outcome>\r
+            </switch>\r
+            <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'>\r
+                <outcome value='create'>\r
+                    <block atomic="true">\r
+                        <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\r
+                            <outcome value='CreateSOTNAttachmentInstance'>\r
+                                <block atomic="true">\r
+                                    <for index="i" start="0" end="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`">\r
+                                        <block>\r
+                                            <set>\r
+                                                <parameter name='tmp.name' value='' />\r
+                                                <parameter name='tmp.value' value='' />\r
+                                            </set>\r
+                                            <set>\r
+                                                <parameter name='tmp.name' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`"/>\r
+                                                <parameter name='tmp.value' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`"/>\r
+                                            </set>\r
+                                            <switch test="`$tmp.name`">\r
+                                                <outcome value='sotnVpnName'>\r
+                                                    <switch test="`$tmp.value`">\r
+                                                        <outcome value=''>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </outcome>\r
+                                                <outcome value='clientSignal'>\r
+                                                    <switch test="`$tmp.value`">\r
+                                                        <outcome value=''>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </outcome>\r
+                                                <outcome value='access-provider-id'>\r
+                                                    <switch test="`$tmp.value`">\r
+                                                        <outcome value=''>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </outcome>\r
+                                                <outcome value='access-client-id'>\r
+                                                    <switch test="`$tmp.value`">\r
+                                                        <outcome value=''>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </outcome>\r
+                                                <outcome value='access-topology-id'></outcome>\r
+                                                <outcome value='access-node-id'>\r
+                                                    <switch test="`$tmp.value`">\r
+                                                        <outcome value=''>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </outcome>\r
+                                                <outcome value='cVLAN'>\r
+                                                    <switch test="`$tmp.value`">\r
+                                                        <outcome value=''>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </outcome>\r
+                                                <outcome value=''>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='ack-final' value='Y'/>\r
+                                                        <parameter name="error-code" value="500" />\r
+                                                        <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </block>\r
+                                    </for>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='CreateSDWANAttachmentInstance'>\r
+                                <block atomic="true">\r
+                                    <for index="i" start="0" end="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`">\r
+                                        <block>\r
+                                            <set>\r
+                                                <parameter name='tmp.name' value='' />\r
+                                                <parameter name='tmp.value' value='' />\r
+                                            </set>\r
+                                            <set>\r
+                                                <parameter name='tmp.name' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`"/>\r
+                                                <parameter name='tmp.value' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`"/>\r
+                                            </set>\r
+                                            <switch test="`$tmp.name`">\r
+                                                <outcome value='sdwanVpnName'>\r
+                                                    <switch test="`$tmp.value`">\r
+                                                        <outcome value=''>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </outcome>\r
+                                                <outcome value='role'>\r
+                                                    <switch test="`$tmp.value`">\r
+                                                        <outcome value=''>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='ack-final' value='Y'/>\r
+                                                                <parameter name="error-code" value="500" />\r
+                                                                <parameter name="error-message" value="`'$tmp.name +' is a required input'`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </outcome>\r
+                                                <outcome value=''>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='ack-final' value='Y'/>\r
+                                                        <parameter name="error-code" value="500" />\r
+                                                        <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" />\r
+                                                    </return>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </block>\r
+                                    </for>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='other'>\r
+                                <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />\r
+                                </return>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='activate'>\r
+                    <block atomic="true">\r
+                        <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\r
+                            <outcome value='ActivateSOTNAttachmentInstance'>\r
+                                <block atomic="true">\r
+                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                                        <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>\r
+                                    </execute>\r
+                                    <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\r
+                                        <outcome value=''>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='ActivateSDWANAttachmentInstance'>\r
+                                <block atomic="true">\r
+                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                                        <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>\r
+                                    </execute>\r
+                                    <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\r
+                                        <outcome value=''>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='other'>\r
+                                <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="sdnc-request-header.request-action is invalid" />\r
+                                </return>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='deactivate'>\r
+                    <block atomic="true">\r
+                        <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\r
+                            <outcome value='DeactivateSDWANAttachmentInstance'>\r
+                                <block atomic="true">\r
+                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                                        <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>\r
+                                    </execute>\r
+                                    <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\r
+                                        <outcome value=''>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='DeactivateSOTNAttachmentInstance'>\r
+                                <block atomic="true">\r
+                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                                        <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>\r
+                                    </execute>\r
+                                    <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\r
+                                        <outcome value=''>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='Other'>\r
+                                <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />\r
+                                </return>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='delete'>\r
+                    <block atomic="true">\r
+                        <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\r
+                            <outcome value='DeleteSOTNAttachmentInstance'>\r
+                                <block atomic="true">\r
+                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                                        <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>\r
+                                    </execute>\r
+                                    <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\r
+                                        <outcome value=''>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='DeleteSDWANAttachmentInstance'>\r
+                                <block atomic="true">\r
+                                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' >\r
+                                        <parameter name="connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id" value="$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id"/>\r
+                                    </execute>\r
+                                    <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\r
+                                        <outcome value=''>\r
+                                            <return status='failure'>\r
+                                                <parameter name='ack-final' value='Y'/>\r
+                                                <parameter name="error-code" value="500" />\r
+                                                <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" />\r
+                                            </return>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='Other'>\r
+                                <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" />\r
+                                </return>\r
+                            </outcome>\r
+                        </switch>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='Other'>\r
+                    <return status='failure'>\r
+                        <parameter name='ack-final' value='Y'/>\r
+                        <parameter name="error-code" value="500" />\r
+                        <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" />\r
+                    </return>\r
+                </outcome>\r
+            </switch>\r
+        </block>\r
+    </method>\r
+</service-logic>\r