工作流参数
不处理输入的工作流的作用域是有限的;许多工作流需要参数化才能使用。这可以通过将 parameters 成员添加到全局 workflow 对象来实现。而 parameters 成员又是应将每个参数作为一个成员的对象。每个 parameters 成员必须具有以下成员:
表 3-11 必要的工作流参数成员
|
|
|
label
|
字符串
|
指示工作流参数输入的标签
|
type
|
字符串
|
工作流参数的类型
|
|
type 成员必须设置为以下类型之一:
表 3-12 成员类型名称
|
|
Boolean
|
布尔值
|
ChooseOne
|
一系列指定值中的一个
|
EmailAddress
|
电子邮件地址
|
File
|
要传输到 ZFSSA 的文件
|
Host
|
有效主机,名称或点分十进制
|
HostName
|
有效主机名
|
HostPort
|
有效的可用端口
|
Integer
|
整数
|
NetAddress
|
网络地址
|
NodeName
|
网络节点的名称
|
NonNegativeInteger
|
大于或等于零的整数
|
Number
|
任意数字-包括浮点
|
Password
|
密码
|
Permissions
|
POSIX 权限
|
Port
|
端口号
|
Size
|
大小
|
String
|
字符串
|
StringList
|
字符串列表
|
|
执行工作流时,将根据指定的类型生成相应的输入表单。例如,下面的工作流具有两个参数,业务部门的名称(要用作项目)和共享资源的名称(要用作共享资源名称):
var workflow = {
name: 'New share',
description: 'Creates a new share in a business unit',
parameters: {
name: {
label: 'Name of new share',
type: 'String'
},
unit: {
label: 'Business unit',
type: 'String'
}
},
execute: function (params) {
run('shares select ' + params.unit);
run('filesystem ' + params.name);
run('commit');
return ('Created new share "' + params.name + '"');
}
};
如果上载此工作流并执行,则系统会显示一个对话框,提示输入共享资源和业务部门的名称。创建共享资源后,将生成一条消息,指示此创建情况。