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='port-mirror-get-policy' mode='sync'>
7 <parameter name='tmp.policy-name' value='`$db.cap[0].policy-name`' />
9 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
10 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.pm.getpolicy.templatefile`" />
11 <parameter name='restapiUrl' value="`$prop.policy-manager.url + '/pdp/api/getConfig'`" />
12 <parameter name='format' value='json' />
13 <parameter name='httpMethod' value='POST' />
14 <parameter name='responsePrefix' value="policy" />
15 <parameter name='customHttpHeaders'
16 value="`'Authorization=Basic ' + $prop.policy-manager.authorization + ',ClientAuth=Basic ' + $prop.policy-manager.clientauth + ',Environment=' + $prop.policy-manager.environment `" />
17 <outcome value='success'>
18 <block atomic="true"></block>
20 <outcome value='Other'>
21 <return status='failure'>
22 <parameter name='error-code' value='500' />
23 <parameter name='error-message' value='Failed to get policy from Policy Manager' />
27 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx' >
28 <parameter name='source' value="policy.config" />
29 <parameter name='outputPath' value="tmp.config-ctx" />
30 <parameter name='isEscaped' value='false' />
31 <outcome value='success'>
32 <block atomic="true"></block>
34 <outcome value='Other'>
35 <return status='failure'>
36 <parameter name='error-code' value='500' />
37 <parameter name='error-message' value='Failed to convert config variable from PolicyManager' />
41 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="toLower">
42 <parameter name="source" value="`$tmp.tenant-context`" />
43 <parameter name="outputPath" value="tmp.lc-tenant-context" />
45 <switch test='`$tmp.lc-tenant-context`'>
48 <parameter name='tmp.dest-p-interface' value='`$tmp.config-ctx.content.defaultContext`' />
51 <outcome value='Other'>
52 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome='true'>
53 <parameter name="source" value="`$tmp.lc-tenant-context`" />
54 <parameter name="target" value="prod" />
55 <outcome value='true'>
57 <parameter name='tmp.dest-p-interface' value='`$tmp.config-ctx.content.productionContext`' />
60 <outcome value='Other'>
61 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome='true'>
62 <parameter name="source" value="`$tmp.lc-tenant-context`" />
63 <parameter name="target" value="test" />
64 <outcome value='true'>
66 <parameter name='tmp.dest-p-interface' value='`$tmp.config-ctx.content.testContext`' />
69 <outcome value='Other'>
70 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome='true'>
71 <parameter name="source" value="`$tmp.lc-tenant-context`" />
72 <parameter name="target" value="dev" />
73 <outcome value='true'>
75 <parameter name='tmp.dest-p-interface' value='`$tmp.config-ctx.content.developmentContext`' />
78 <outcome value='Other'>
79 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome='true'>
80 <parameter name="source" value="`$tmp.lc-tenant-context`" />
81 <parameter name="target" value="default" />
82 <outcome value='true'>
84 <parameter name='tmp.dest-p-interface' value='`$tmp.config-ctx.content.defaultContext`' />
87 <outcome value='Other'>
88 <return status='failure'>
89 <parameter name='error-code' value='500' />
90 <parameter name='error-message' value="`'Unexpected tenant-context value of ' + $tmp.tenant-context`" />
102 <switch test='`$tmp.dest-p-interface`'>
104 <return status='failure'>
105 <parameter name='error-code' value='500' />
106 <parameter name='error-message' value="`'Unable to find p-interface in policy ' + tmp.policy-name`" />
110 <return status='success'></return>