2 xmlns='http://www.onap.org/sdnc/svclogic'
3 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}'>
4 <method rpc='policy-update-notify-operation' mode='sync'>
6 <switch test='`$policy-update-notify-operation-input.update-type`'>
7 <outcome value='Update'>
9 <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
10 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
11 <parameter name='contextPrefix' value='prop' />
14 <parameter name='tmp.sql' value="`'insert into POLICY_UPDATE_NOTIFICATION (policy_name,version_id,update_type) values ( '
15 + ' $policy-update-notify-operation-input.policy-name , $policy-update-notify-operation-input.version-id , $policy-update-notify-operation-input.update-type )'`" />
17 <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
18 key="`$tmp.sql`" pfx='pfx'></save>
20 <parameter name='tmp.policy-name' value='`$policy-update-notify-operation-input.policy-name`' />
22 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
23 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.pm.getpolicy.templatefile`" />
24 <parameter name='restapiUrl' value="`$prop.policy-manager.url + '/pdp/api/getConfig'`" />
25 <parameter name='format' value='json' />
26 <parameter name='httpMethod' value='POST' />
27 <parameter name='responsePrefix' value="policy" />
28 <parameter name='customHttpHeaders'
29 value="`'Authorization=Basic ' + $prop.policy-manager.authorization + ',ClientAuth=Basic ' + $prop.policy-manager.clientauth + ',Environment=' + $prop.policy-manager.environment `" />
30 <outcome value='success'>
31 <block atomic="true"></block>
33 <outcome value='Other'>
34 <return status='failure'>
35 <parameter name='error-code' value='500' />
36 <parameter name='error-message' value='Failed to get policy from Policy Manager' />
40 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx' >
41 <parameter name='source' value="policy.config" />
42 <parameter name='outputPath' value="tmp.config-ctx" />
43 <parameter name='isEscaped' value='false' />
44 <outcome value='success'>
45 <block atomic="true"></block>
47 <outcome value='Other'>
48 <return status='failure'>
49 <parameter name='error-code' value='500' />
50 <parameter name='error-message' value='Failed to convert config variable from PolicyManager' />
55 <parameter name='policy-name' value='`$tmp.config-ctx.content.fq_name[2]`' />
57 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
58 <parameter name="original_string" value="`$policy-name`" />
59 <parameter name="regex" value="_"/>
60 <parameter name="limit" value="3" />
61 <parameter name="ctx_memory_result_key" value="policy-splits" />
63 <execute plugin='org.onap.ccsdk.sli.plugins.contrail.ContrailAdaptor' method='sendContrailRequest' emitsOutcome='true' >
64 <parameter name='api-name' value='network-policy' />
65 <parameter name='api-action' value='update' />
66 <parameter name='resp-prefix' value='contrailResp' />
67 <parameter name='cloud-region-id' value='`$policy-splits[1]`' />
68 <parameter name='update-network-policy-json' value='`$policy.config`' />
69 <outcome value='success'>
70 <block atomic="true"></block>
72 <outcome value='Other'>
73 <return status='failure'>
74 <parameter name='error-code' value='500' />
75 <parameter name='error-message' value="`'Error updating Contrail: ' + $contrailResp.resp-message`" />
82 <return status='success'>
83 <parameter name="ack-final-indicator" value="Y" />
84 <parameter name="error-code" value="200" />
85 <parameter name="error-message" value="success" />