Examples of MVEL syntax
MVFLEX Expression Language (MVEL) syntaxes are used in several OnCommand Workflow Automation (WFA) sample workflows. You should review some sample MVEL syntaxes to learn how to use MVEL in WFA.
The following sections provide some examples of MVEL syntaxes used in WFA.
Conditional execution
The following MVEL expression is used for conditional execution of a command when the number of volumes found is lesser than 4:
$NoOfVolumes < 4
Incremental naming
The following MVEL expression is used for incremental naming of an object:
last_volume.name+last_volume.state
This MVEL expression uses the last created volume name and the state of the last created volume for naming.
String representation in commands
The following MVEL syntax is used as a string representation:
DestinationCluster + ":" + DestinationVserver + "/" + DestinationVolume
Templates
The following MVEL syntax is used in a template:
calculateSnapReserveSize(calculateVolumeSizeFromDataSize((int)($fs_size*1.01),$snap_space),$snap_space)
This MVEL syntax is used to calculate the percentage of volume capacity to be reserved for Snapshot copies.
Command details
The following MVEL function is used in the attributes section of a parameters:
actualVolumeSize($VolumeSizeInGB * 1024, volume.snapshot_reserved_percent)
The following MVEL syntax is used in the attributes section of a parameter:
$VolumeName+'test001'
Workflow constants
The following MVEL syntaxes are used for constants in workflows:
convertNullToZero(infinite_volume.max_namespace_constituent_size_mb)
$Size_TB*1048576L
Return parameters
The following MVEL syntax is use to validate whether the requested size can be allocated:
size_remaining == 0 ? '' : throwException('Not sufficient space in capacity_class_aggregate or data constituent of size less than 1 TB can not be created: Total size requested='+$Size_TB+'TB'+' ,Size remaining='+size_remaining/TB_TO_MB+'TB'+', Infinite volume name='+infinite_volume.name+', Storage class='+CAPACITY_CLASS_LABEL)
Function definition
The following MVEL syntax is used in a function definition, which is used to convert null to zero:
def convertNullToZero (data) { if(data == null) { return 0; } else { return data; } }
Repetition of a specific row
The following MVEL expression uses a user input to indicate the number of times a row has to be repeated to create LUNs:
$NumberOfLunsToBeCreated
Conditional expressions for a row
The following MVEL expression uses a user input to indicate if the row will be executed:
$SetupSnapMirror