<service-logic xmlns='http://www.onap.org/sdnc/svclogic' 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}'> <method rpc='validate-connection-attachment-input' mode='sync'> <block atomic="true"> <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="sdnc-request-header.svc-request-id is a required input" /> </return> </outcome> </switch> <switch test='`$connection-attachment-topology-operation-input.service-information.service-instance-id`'> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="service-information.service-instance-id is a required input" /> </return> </outcome> </switch> <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.parent-service-instance-id`'> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="service-information.parent-service-instance-id is a required input" /> </return> </outcome> </switch> <switch test='`$connection-attachment-topology-operation-input.sdnc-request-header.svc-action`'> <outcome value='create'> <block atomic="true"> <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'> <outcome value='CreateSOTNAttachmentInstance'> <block atomic="true"> <for index="i" start="0" end="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`"> <block> <set> <parameter name='tmp.name' value='' /> <parameter name='tmp.value' value='' /> </set> <set> <parameter name='tmp.name' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`"/> <parameter name='tmp.value' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`"/> </set> <switch test="`$tmp.name`"> <outcome value='sotnVpnName'> <switch test="`$tmp.value`"> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'$tmp.name +' is a required input'`" /> </return> </outcome> </switch> </outcome> <outcome value='clientSignal'> <switch test="`$tmp.value`"> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'$tmp.name +' is a required input'`" /> </return> </outcome> </switch> </outcome> <outcome value='access-provider-id'> <switch test="`$tmp.value`"> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'$tmp.name +' is a required input'`" /> </return> </outcome> </switch> </outcome> <outcome value='access-client-id'> <switch test="`$tmp.value`"> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'$tmp.name +' is a required input'`" /> </return> </outcome> </switch> </outcome> <outcome value='access-topology-id'></outcome> <outcome value='access-node-id'> <switch test="`$tmp.value`"> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'$tmp.name +' is a required input'`" /> </return> </outcome> </switch> </outcome> <outcome value='cVLAN'> <switch test="`$tmp.value`"> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'$tmp.name +' is a required input'`" /> </return> </outcome> </switch> </outcome> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" /> </return> </outcome> </switch> </block> </for> </block> </outcome> <outcome value='CreateSDWANAttachmentInstance'> <block atomic="true"> <for index="i" start="0" end="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param_length`"> <block> <set> <parameter name='tmp.name' value='' /> <parameter name='tmp.value' value='' /> </set> <set> <parameter name='tmp.name' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].name`"/> <parameter name='tmp.value' value="`$connection-attachment-topology-operation-input.connection-attachment-request-input.param[$i].value`"/> </set> <switch test="`$tmp.name`"> <outcome value='sdwanVpnName'> <switch test="`$tmp.value`"> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'$tmp.name +' is a required input'`" /> </return> </outcome> </switch> </outcome> <outcome value='role'> <switch test="`$tmp.value`"> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'$tmp.name +' is a required input'`" /> </return> </outcome> </switch> </outcome> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`'network-topology-operation-input.network-request-input.network-input-parameters.param[' + $i + ']' + '.name is a required input'`" /> </return> </outcome> </switch> </block> </for> </block> </outcome> <outcome value='other'> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="sdnc-request-header.request-action is invalid" /> </return> </outcome> </switch> </block> </outcome> <outcome value='activate'> <block atomic="true"> <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'> <outcome value='ActivateSOTNAttachmentInstance'> <block atomic="true"> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' > <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"/> </execute> <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" /> </return> </outcome> </switch> </block> </outcome> <outcome value='ActivateSDWANAttachmentInstance'> <block atomic="true"> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' > <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"/> </execute> <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" /> </return> </outcome> </switch> </block> </outcome> <outcome value='other'> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="sdnc-request-header.request-action is invalid" /> </return> </outcome> </switch> </block> </outcome> <outcome value='deactivate'> <block atomic="true"> <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'> <outcome value='DeactivateSDWANAttachmentInstance'> <block atomic="true"> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' > <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"/> </execute> <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" /> </return> </outcome> </switch> </block> </outcome> <outcome value='DeactivateSOTNAttachmentInstance'> <block atomic="true"> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' > <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"/> </execute> <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" /> </return> </outcome> </switch> </block> </outcome> <outcome value='Other'> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" /> </return> </outcome> </switch> </block> </outcome> <outcome value='delete'> <block atomic="true"> <switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'> <outcome value='DeleteSOTNAttachmentInstance'> <block atomic="true"> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' > <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"/> </execute> <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" /> </return> </outcome> </switch> </block> </outcome> <outcome value='DeleteSDWANAttachmentInstance'> <block atomic="true"> <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='requiredParameters' > <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"/> </execute> <switch test='`$connection-attachment-topology-operation-input.allotted-resource-information.allotted-resource-id`'> <outcome value=''> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="network-request-input.network-input-parameters.name is a required input" /> </return> </outcome> </switch> </block> </outcome> <outcome value='Other'> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="request-information.request-action is required to be DeleteNetworkInstance for svc-action=delete" /> </return> </outcome> </switch> </block> </outcome> <outcome value='Other'> <return status='failure'> <parameter name='ack-final' value='Y'/> <parameter name="error-code" value="500" /> <parameter name="error-message" value="`$network-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`" /> </return> </outcome> </switch> </block> </method> </service-logic>