简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。
MVEL 语法示例
贡献者
建议更改
多个 OnCommand Workflow Automation ( WFA )示例工作流使用了 MVFLEX 表达式语言( MVEL )语法。您应查看一些示例 MVEL 语法,了解如何在 WFA 中使用 MVEL 。
以下各节提供了 WFA 中使用的 MVEL 语法的一些示例。
条件执行
当找到的卷数小于 4 时,可以使用以下 MVEL 表达式来有条件地执行命令:
$NoOfVolumes < 4
增量命名
以下 MVEL 表达式用于对象的增量命名:
last_volume.name+last_volume.state
此 MVEL 表达式使用上次创建的卷名称和上次创建的卷的状态来命名。
命令中的字符串表示
以下 MVEL 语法用作字符串表示:
DestinationCluster + ":" + DestinationVserver + "/" + DestinationVolume
模板
模板使用以下 MVEL 语法:
calculateSnapReserveSize(calculateVolumeSizeFromDataSize((int)($fs_size*1.01),$snap_space),$snap_space)
此 MVEL 语法用于计算要为 Snapshot 副本预留的卷容量百分比。
命令详细信息
以下 MVEL 函数将在参数的属性部分中使用:
actualVolumeSize($VolumeSizeInGB * 1024, volume.snapshot_reserved_percent)
参数的属性部分使用以下 MVEL 语法:
$VolumeName+'test001'
工作流常量
以下 MVEL 语法用于工作流中的常量:
convertNullToZero(infinite_volume.max_namespace_constituent_size_mb)
$Size_TB*1048576L
返回参数
以下 MVEL 语法用于验证是否可以分配请求的大小:
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)
函数定义
函数定义使用以下 MVEL 语法,用于将 null 转换为零:
def convertNullToZero (data) { if(data == null) { return 0; } else { return data; } }
特定行的重复
以下 MVEL 表达式使用用户输入来指示创建 LUN 时必须重复一行的次数:
$NumberOfLunsToBeCreated
行的条件表达式
以下 MVEL 表达式使用用户输入来指示是否要执行该行:
$SetupSnapMirror