Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_policy-update-notify-operation.xml
1 <service-logic
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'>
5         <block atomic="true">
6             <switch test='`$policy-update-notify-operation-input.update-type`'>
7                 <outcome value='Update'>
8                     <block atomic="true">
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' />
12                         </execute>
13                         <set>
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 )'`" />
16                         </set>
17                         <save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
18   key="`$tmp.sql`" pfx='pfx'></save>
19                         <set>
20                             <parameter name='tmp.policy-name' value='`$policy-update-notify-operation-input.policy-name`' />
21                         </set>
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>
32                             </outcome>
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' />
37                                 </return>
38                             </outcome>
39                         </execute>
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>
46                             </outcome>
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' />
51                                 </return>
52                             </outcome>
53                         </execute>
54                         <set>
55                             <parameter name='policy-name' value='`$tmp.config-ctx.content.fq_name[2]`' />
56                         </set>
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" />
62                         </execute>
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>
71                             </outcome>
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`" />
76                                 </return>
77                             </outcome>
78                         </execute>
79                     </block>
80                 </outcome>
81             </switch>
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" />
86             </return>
87         </block>
88     </method>
89 </service-logic>