<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='policy-update-notify-operation' mode='sync'>
<block atomic="true"><switch test='`$policy-update-notify-operation-input.update-type`'>
<outcome value='Update'>
<block atomic="true"><execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
    <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
    <parameter name='contextPrefix' value='prop' />
</execute><set>
<parameter name='tmp.sql' value="`'insert into POLICY_UPDATE_NOTIFICATION (policy_name,version_id,update_type) values ( '
+ ' $policy-update-notify-operation-input.policy-name , $policy-update-notify-operation-input.version-id , $policy-update-notify-operation-input.update-type )'`" />

</set><save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
  key="`$tmp.sql`" pfx='pfx'>
</save><execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
    <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.pm.getpolicy.templatefile`" />
    <parameter name='restapiUrl' value="`$prop.policy-manager.url + '/pdp/api/getConfig'`" />
    <parameter name='format' value='json' />
    <parameter name='httpMethod' value='POST' />
    <parameter name='responsePrefix' value="policy" />    
    <parameter name='customHttpHeaders'
      value="`'Authorization=Basic ' + $prop.policy-manager.authorization + ',ClientAuth=Basic ' + $prop.policy-manager.clientauth + ',Environment=' + $prop.policy-manager.environment `" />
<outcome value='success'>
<block atomic="true">
</block></outcome><outcome value='Other'>
<return status='failure'>
<parameter name='error-code' value='500' />
<parameter name='error-message' value='Failed to get policy from Policy Manager' />
</return></outcome></execute><execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
<parameter name='api-name' value='network-policy' />
<parameter name='api-action' value='update' />
<parameter name='resp-prefix' value='contrailResp' />
<parameter name='cloud-region-id' value='`$cloud-region-id`' />
<parameter name='update-network-policy-json' value='`$policy.config`' /><outcome value='success'>
<block atomic="true">
</block></outcome><outcome value='Other'>
<return status='failure'>
<parameter name='error-code' value='500' />
<parameter name='error-message' value='Failed to get policy from Policy Manager' />
</return></outcome></execute></block></outcome></switch><return status='success'>
<parameter name="ack-final-indicator" value="Y" />
<parameter name="error-code" value="200" />
<parameter name="error-message" value="success" />
</return></block></method></service-logic>