Add/Modified A1 DG's
[ccsdk/distribution.git] / platform-logic / a1Adapter-api / src / main / xml / A1-ADAPTER-API_putA1Policy.xml
diff --git a/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_putA1Policy.xml b/platform-logic/a1Adapter-api/src/main/xml/A1-ADAPTER-API_putA1Policy.xml
new file mode 100644 (file)
index 0000000..d674abf
--- /dev/null
@@ -0,0 +1,68 @@
+<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='A1-ADAPTER-API' version='${project.version}'>
+    <method rpc='putA1Policy' mode='sync'>
+        <block atomic='true'>
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                <parameter name="level" value="info" />
+                <parameter name="field1" value="Put A1 Policy :"/>
+                <parameter name="field2" value="`$put-a1-policy-input.near-rt-ric-url`"/>
+                <parameter name="field3" value="`$put-a1-policy-input.body`"/>
+            </record>
+            <set>
+                <parameter name='response-code' value='200' />
+                <parameter name='response-message' value='Put A1 Policy executed successfully' />
+            </set>
+            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+                <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />
+                <parameter name='contextPrefix' value='prop' />
+            </execute>
+            <block atomic='true'>
+                <set>
+                    <parameter name="tmp.near-rt-ric-url" value="`$put-a1-policy-input.near-rt-ric-url`"/>
+                    <parameter name="tmp.body" value="`$put-a1-policy-input.body`"/>
+                </set>
+                <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                    <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                    <parameter name="level" value="info" />
+                    <parameter name="field1" value="Setting variables for Put A1 Policy."/>
+                    <parameter name="field2" value="`$tmp.near-rt-ric-url`"/>
+                    <parameter name="field3" value="`$tmp.body`"/>
+                </record>
+                <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+                    <parameter name="restapiUrl" value="`$tmp.near-rt-ric-url`"/>
+                    <parameter name="format" value="json"/>
+                    <parameter name="httpMethod" value="PUT"/>
+                    <parameter name="responsePrefix" value="a1MediatorRsp"/>
+                    <parameter name='contentType' value='application/json' />
+                    <parameter name='accept' value='application/json' />
+                    <parameter name="requestBody" value="`$tmp.body`"/>
+                    <parameter name="convertResponse" value="false"/>
+                    <outcome value='failure'>
+                        <block>
+                            <set>
+                                <parameter name='response-code' value='500'/>
+                                <parameter name='response-message' value='Seems A1 Mediator Not Healthy'/>
+                            </set>
+                            <return status='failure'>
+                                <parameter name='ack-final' value='Y'/>
+                                <parameter name="response-code" value="404" />
+                                <parameter name="response-message" value="Error creating A1 Policy. Aborting A1 Policy creation" />
+                            </return>
+                        </block>
+                    </outcome>
+                    <outcome value='success'>
+                        <block>
+                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+                                <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
+                                <parameter name="level" value="info" />
+                                <parameter name="field1" value="A1 Policy Instance Created."/>
+                            </record>
+                        </block>
+                    </outcome>
+                </execute>
+            </block>
+        </block>
+    </method>
+</service-logic>
\ No newline at end of file