<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-security-zone-input' mode='sync'>
<block atomic="true"><switch test='`$security-zone-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-action is a required input" />
</return></outcome></switch><switch test='`$security-zone-topology-operation-input.sdnc-request-header.svc-request-id`'>
<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='`$security-zone-topology-operation-input.request-information.request-action`'>
<outcome value='CreateSecurityZoneInstance'><block>
</block></outcome><outcome value='DeleteSecurityZoneInstance'><block>
</block></outcome><outcome value=''><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 a required input" />
</return></outcome><outcome value='Other'><return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="Invalid request-information.request-action " />
</return></outcome></switch><switch test='`$security-zone-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='`$security-zone-topology-operation-input.sdnc-request-header.svc-action`'>
<outcome value='assign'><block atomic="true"><switch test='`$security-zone-topology-operation-input.request-information.request-action`'>
<outcome value='CreateSecurityZoneInstance'><block atomic="true"><switch test='`$security-zone-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="allotted-resource-information.allotted-resource-id is a required input" />
</return></outcome></switch><switch test='`$security-zone-topology-operation-input.allotted-resource-information.allotted-resource-type`'>
<outcome value=''><return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="allotted-resource-information.allotted-resource-type is a required input" />
</return></outcome></switch><switch test='`$security-zone-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="allotted-resource-information.parent-service-instance-id is a required input" />
</return></outcome></switch><switch test='`$security-zone-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`'>
<outcome value=''><return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="security-zone-information.onap-model-information.model-customization-uuid is a required input" />
</return></outcome></switch><switch test='`$security-zone-topology-operation-input.security-zone-request-input.vlan-tag`'>
<outcome value=''><return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="security-zone-topology-operation-input.security-zone-request-input.vlan-tag is a required input" />
</return></outcome></switch><switch test='`$security-zone-topology-operation-input.security-zone-request-input.trusted-network-role`'>
<outcome value=''><return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="security-zone-topology-operation-input.security-zone-request-input.trusted-network-role is a required input" />
</return></outcome></switch><switch test='`$security-zone-topology-operation-input.security-zone-request-input.untrusted-network-role`'>
<outcome value=''><return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="security-zone-operation-input.security-zone-request-input.untrusted-network-role is a required input" />
</return></outcome></switch><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
key='SELECT * from ALLOTTED_RESOURCE_MODEL WHERE customization_uuid = $security-zone-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid'
pfx='ar-model'>
<outcome value='not-found'>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'No alloted resource model found for model customization UUID ' + $security-zone-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`" />
</return></outcome><outcome value='failure'>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="`'No alloted resource model found for model customization UUID ' + $security-zone-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`" />
</return></outcome></get-resource></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 a required to be CreateSecurityZoneInstance for svc-action=assign" />
</return></outcome></switch></block></outcome><outcome value='create'><block atomic="true"><switch test='`$security-zone-topology-operation-input.request-information.request-action`'>
<outcome value='CreateSecurityZoneInstance'><block atomic="true"><switch test='`$security-zone-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="allotted-resource-information.allotted-resource-id is a required input" />
</return></outcome></switch><switch test='`$security-zone-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="allotted-resource-information.parent-service-instance-id 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 a required to be CreateSecurityZoneInstance for svc-action=create" />
</return></outcome></switch></block></outcome><outcome value='activate'><block atomic="true"><switch test='`$security-zone-topology-operation-input.request-information.request-action`'>
<outcome value='CreateSecurityZoneInstance'><block atomic="true"><switch test='`$security-zone-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="allotted-resource-information.allotted-resource-id is a required input" />
</return></outcome></switch><switch test='`$security-zone-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="allotted-resource-information.parent-service-instance-id 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 a required to be CreateSecurityZoneInstance for svc-action=activate" />
</return></outcome></switch></block></outcome><outcome value='deactivate'><block atomic="true"><switch test='`$security-zone-topology-operation-input.request-information.request-action`'>
<outcome value='DeleteSecurityZoneInstance'><block atomic="true"><switch test='`$security-zone-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="allotted-resource-information.allotted-resource-id is a required input" />
</return></outcome></switch><switch test='`$security-zone-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="allotted-resource-information.parent-service-instance-id 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 a required to be DeleteSecurityZoneInstance for svc-action=deactivate" />
</return></outcome></switch></block></outcome><outcome value='delete'><block atomic="true"><switch test='`$security-zone-topology-operation-input.request-information.request-action`'>
<outcome value='DeleteSecurityZoneInstance'><block atomic="true"><switch test='`$security-zone-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="allotted-resource-information.allotted-resource-id is a required input" />
</return></outcome></switch><switch test='`$security-zone-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="allotted-resource-information.parent-service-instance-id 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 a required to be DeleteSecurityZoneInstance for svc-action=delete" />
</return></outcome></switch></block></outcome><outcome value='unassign'><block atomic="true"><switch test='`$security-zone-topology-operation-input.request-information.request-action`'>
<outcome value='DeleteSecurityZoneInstance'><block atomic="true"><switch test='`$security-zone-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="allotted-resource-information.allotted-resource-id 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 a required to be DeleteSecurityZoneInstance for svc-action=unassign" />
</return></outcome></switch></block></outcome></switch><return status='success'>
<parameter name="ack-final-indicator" value="Y" />
<parameter name="error-code" value="200" />
<parameter name="error-message" value="`$error-message`" />
</return></block></method></service-logic>