HP Insight Orchestration 6.0 User Guide

Example: Custom rule
rule "CustomRule1"
when
$pVO : PolicyExecutionVO( );
$resLst : List();
/* --------------- CUSTOM LOGIC ------------------ */
// Get service entity and resource objects.
$logicalSubnet : LogicalSubnet();
$subnet : Subnet() from $resLst;
// call new user defined function with required arguments
// function has to return true in case of success or false
// in case of failure.
eval(customRule1($logicalSubnet, $subnet, $pVO));
/* --------------- CUSTOM LOGIC ------------------ */
then
/* --------------- CUSTOM LOGIC ------------------ */
// Since this is a custom rule/criteria construct HPIO message
// using ALLOCATION_CRITERIA_CUSTOM bundle key and providing
// allocation failure message (string) to be displayed. In case
// this rule fails. NOTE same information should be used while
// calling doesNotMatch in the custom function below.
$pVO.match($subnet, HPIOMessage.get(HPIOBundleKey.ALLOCATION_CRITERIA_CUSTOM,
Failure message));
/* --------------- CUSTOM LOGIC ------------------ */
end
/*
* The function is responsible to do criteria check and return
* true/false based on the requested resource and the available
* resources.
* Initialize result map with doesNotMatch to start with, if this
* function returns success (true) then rule result map will be
* changed to match.
*
*/
function boolean customRule1(
LogicalSubnet logicalSubnet,
Subnet subnet,
PolicyExecutionVO pVO) {
// Custom message.
pVO.doesNotMatch(subnet,
HPIOMessage.get(HPIOBundleKey.ALLOCATION_CRITERIA_CUSTOM, Failure message));
boolean match=true;
/* -------------- CUSTOM LOGIC ----------------------*/
/* -------------- CUSTOM LOGIC ----------------------*/
Customizable allocation process 51