+ </outcome>
+ <outcome value='success'>
+ <block>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="addRRMPolicyRatio to NRCELLCU Executed Successfully "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ <block atomic='true'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="CUCP - CPS update"/>
+ </record>
+ <set>
+ <parameter name='tmp.cellLocalId' value='`$tmp.gNBCUCPList.cellLocalId`'/>
+ <parameter name='tmp.maxNumberOfConns' value='`$tmp.payload.maxNumberofConns`'/>
+ <parameter name='tmp.gNBCUCPList.gNBCUName' value='`$tmp.gNBCUCPList.gNBCUName`'/>
+ <parameter name='tmp.gNBCUCPList.gNBId' value='`$tmp.gNBId`'/>
+ <parameter name='tmp.status' value='INACTIVE'/>
+ <parameter name='tmp.sNSSAI' value='`$tmp.payload.sNSSAI`'/>
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="cellLocalId"/>
+ <parameter name="field2" value="`$tmp.cellLocalId`"/>
+ <parameter name="field5" value="maxNumberOfConns"/>
+ <parameter name="field6" value="`$tmp.maxNumberOfConns`"/>
+ <parameter name="field7" value="gNBCUName"/>
+ <parameter name="field8" value="`$tmp.gNBCUCPList.gNBCUName`"/>
+ <parameter name="field9" value="gNBId"/>
+ <parameter name="field10" value="`$tmp.gNBCUCPList.gNBId`"/>
+ </record>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
+ <parameter name="outputPath" value="tmp.cps.updateCUCP.url"/>
+ <parameter name="target" value="{schemaSet}"/>
+ <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.cps.updateCUCP.url`"/>
+ <parameter name="outputPath" value="tmp.cps.updateCUCP.url"/>
+ <parameter name="target" value="{templateId}"/>
+ <parameter name="replacement" value="`$prop.tbdmt.template.add-snssai-nrcellcu`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceModifyAllocate-cps.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="URL for CPS TDBMT to update CUCP in CPS"/>
+ <parameter name='field2' value="`$tmp.cps.updateCUCP.url`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$tmp.cps.updateCUCP.url`"/>
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-add-snssai-nrcellcu.json'`" />
+ <parameter name="httpMethod" value="POST"/>
+ <parameter name="responsePrefix" value="update-gNBCUCP-cps-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <parameter name='accept' value='application/json' />
+ <parameter name="convertResponse" value="true"/>
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error in updating NRCellCU. Aborting RPC exception'/>
+ </set>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error updating NRCellCU-PLMNInfo in ConfigDB. Aborting RPC executiopn'/>
+ </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/instantiateRANSliceAllocate-cps.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Successfully updated NRCellCU pLMNinfo "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ <block atomic='true'>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
+ <parameter name="outputPath" value="tmp.cps.rrmpolicy.putCUCP.url"/>
+ <parameter name="target" value="{schemaSet}"/>
+ <parameter name="replacement" value="`$prop.rannetwork.schemaset`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.cps.rrmpolicy.putCUCP.url`"/>
+ <parameter name="outputPath" value="tmp.cps.rrmpolicy.putCUCP.url"/>
+ <parameter name="target" value="{templateId}"/>
+ <parameter name="replacement" value="`$prop.tbdmt.template.add-nrcellcu-rrm-policy`"/>
+ </execute>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="URL for CPS TDBMT to update rrm policy in CPS"/>
+ <parameter name='field2' value="`$tmp.cps.rrmpolicy.putCUCP.url`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="restapiUrl" value="`$tmp.cps.rrmpolicy.putCUCP.url`"/>
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-add-nrcellcu-rrm-policy.json'`" />
+ <parameter name="httpMethod" value="POST"/>
+ <parameter name="responsePrefix" value="update-gNBCUCP-rrmpolicy-cps-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <parameter name='accept' value='application/json' />
+ <parameter name="convertResponse" value="true"/>
+ <outcome value='failure'>
+ <block>
+ <set>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error updating RRMPolicy CUCP info in ConfigDB. Aborting RPC executiopn'/>
+ </set>
+ <block atomic='true'>
+ <set>
+ <parameter name="tmp.so.callbackURL" value="`$payloadJson.input.callbackURL`"/>
+ <parameter name="tmp.status" value="`$error-code`"/>
+ <parameter name="tmp.reason" value="`$error-message`"/>
+ <parameter name="tmp.requestID" value="`$instantiateRANSlice-input.common-header.request-id`"/>
+ <parameter name="tmp.action" value="`$instantiateRANSlice-input.action`"/>
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/so-callback-response.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="URL for SO Callback Response"/>
+ <parameter name='field2' value="`$tmp.so.callbackURL`" />
+ <parameter name='field3' value="`$tmp.status`" />
+ <parameter name='field4' value="`$tmp.reason`" />
+ <parameter name='field5' value="`$tmp.requestID`" />
+ <parameter name='field6' value="`$tmp.action`" />
+ <parameter name='field7' value="`$tmp.CUCPList`" />
+ <parameter name='field8' value="`$tmp.CUUPList`" />
+ <parameter name='field9' value="`$tmp.DUList`" />
+ </record>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/ranSlice-so-response.json'`" />
+ <parameter name="restapiUrl" value="`$payloadJson.input.callbackURL`"/>
+ <parameter name="httpMethod" value="POST"/>
+ <parameter name="responsePrefix" value="so-callback-response"/>
+ <parameter name='contentType' value='application/json' />
+ <parameter name='format' value='json' />
+ <parameter name='accept' value='*/*' />
+ <parameter name="restapiUser" value="`$prop.restapi.so.user`" />
+ <parameter name="restapiPassword" value="`$prop.restapi.so.password`"/>
+ <outcome value='failure'>
+ <block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error sending SO Response" />
+ </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/instantiateRANSlice.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="SO Response Sent "/>
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name='error-code' value='500'/>
+ <parameter name='error-message' value='Error updating RRMPolicy CUCP info in ConfigDB. Aborting RPC executiopn'/>
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <set>
+ <parameter name='tmp.rrmPolicyMemberID' value='`$tmp.rrmPolicyMemberID + 1`' />
+ </set>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
+ <parameter name="file" value="/opt/opendaylight/current/data/log/instantiateRANSliceAllocate-cps.log" />
+ <parameter name="level" value="info" />
+ <parameter name="field1" value="Successfully Updated RRMPolicy CUCP info in CPS"/>
+ <parameter name="field2" value="Incremented ConfigDB rrmPolicyID"/>
+ <parameter name="field3" value='`$prop.configDB.rrmPolicyID`' />
+ </record>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </block>