绑定用于定义简单工作流示例的可编辑脚本任务元素对输入参数的处理方式。您还可以将可编辑脚本任务元素与其 JavaScript 函数进行绑定。

定义绑定时,Orchestrator 会显示您在工作流中已定义的参数,并将其作为绑定的候选内容。如果尚未在工作流中定义所需的参数,则参数选择只能为 NULL。单击在工作流中创建参数/属性以创建新参数。

“启动虚拟机失败”可编辑脚本任务

“启动虚拟机失败”可编辑脚本任务元素通过设置有关启动虚拟机失败的电子邮件通知内容来处理 startVM 操作引发的任何异常,并将事件写入到 Orchestrator 日志中。

下表中显示了“启动虚拟机失败”可编辑脚本任务元素所需的输入和输出参数绑定。

表 1. “启动虚拟机失败”可编辑脚本任务元素的绑定

参数名称

绑定类型

绑定到现有参数或创建参数?

绑定值

vm

输入

绑定

  • 本地参数:vm

  • 源参数:vm[in-parameter]

  • 类型:VC:VirtualMachine

  • 说明:要打开电源的虚拟机。

errorCode

输入

创建

  • 本地参数:errorCode

  • 源参数:errorCode[attribute]

  • 类型:字符串

  • 说明:在打开虚拟机电源时发现任何异常。

body

输出

创建

  • 本地参数:body

  • 源参数:body[attribute]

  • 类型:字符串

  • 说明:电子邮件正文

“启动虚拟机失败”可编辑脚本任务元素会执行以下脚本函数。

body = "Unable to execute powerOnVM_Task() on VM '"+vm.name+"', exception found: "+errorCode;
//Writes the following event  in the Orchestrator database 
Server.error("Unable to execute powerOnVM_Task() on VM '"+vm.name+"', exception found: "+errorCode);

“超时 1”可编辑脚本任务元素

“超时 1”可编辑脚本任务元素通过设置有关任务失败的电子邮件通知内容来处理 vim3WaitTaskEnd 操作引发的任何异常,并将事件写入到 Orchestrator 日志中。

下表中显示“超时 1”可编辑脚本任务元素所需的输入和输出参数绑定。

表 2. “超时 1”可编辑脚本任务元素的绑定

参数名称

绑定类型

绑定到现有参数或创建参数?

绑定值

vm

输入

绑定

  • 本地参数:vm

  • 源参数:vm[in-parameter]

  • 类型:VC:VirtualMachine

  • 说明:要启动的虚拟机。

errorCode

输入

绑定

  • 本地参数:errorCode

  • 源参数:errorCode[attribute]

  • 类型:字符串

  • 说明:在打开虚拟机电源时发现任何异常。

body

输出

绑定

  • 本地参数:body

  • 源参数:body[attribute]

  • 类型:字符串

  • 说明:电子邮件正文

“超时 1”可编辑脚本任务元素需要以下脚本函数。

body = "Error while waiting for poweredOnVM_Task() to complete on VM '"+vm.name+"', exception found: "+errorCode;
//Writes the following event in the Orchestrator database
Server.error("Error while waiting for poweredOnVM_Task() to complete on VM '"+vm.name+"', exception found: "+errorCode);

“超时 2”可编辑脚本任务元素

“超时 2”可编辑脚本任务元素通过设置有关任务失败的电子邮件通知内容来处理 vim3WaitToolsStarted 操作引发的任何异常,并将事件写入到 Orchestrator 日志中。

下表中显示“超时 2”可编辑脚本任务元素所需的输入和输出参数绑定。

表 3. “超时 2”可编辑脚本任务元素的绑定

参数名称

绑定类型

绑定到现有参数或创建参数?

绑定值

vm

输入

绑定

  • 本地参数:vm

  • 源参数:vm[in-parameter]

  • 类型:VC:VirtualMachine

  • 说明:要打开电源的虚拟机。

errorCode

输入

绑定

  • 本地参数:errorCode

  • 源参数:errorCode[attribute]

  • 类型:字符串

  • 说明:在打开虚拟机电源时发现任何异常。

body

输出

绑定

  • 本地参数:body

  • 源参数:body[attribute]

  • 类型:字符串

  • 说明:电子邮件正文

“超时 2”可编辑脚本任务元素需要以下脚本函数。

body = "Error while waiting for VMware tools to be up on VM '"+vm.name+"', exception found: "+errorCode;
//Writes the following event in the Orchestrator database
Server.error("Error while waiting for VMware tools to be up on VM '"+vm.name+"', exception found: "+errorCode);

“确定”可编辑脚本任务元素

“确定”可编辑脚本任务元素会接收虚拟机已启动成功的消息、设置有关虚拟机成功启动的电子邮件通知内容以及将事件写入到 Orchestrator 日志中。

下表中显示“确定”可编辑脚本任务元素所需的输入和输出参数绑定。

表 4. “确定”可编辑脚本任务元素的绑定

参数名称

绑定类型

绑定到现有参数或创建参数?

绑定值

vm

输入

绑定

  • 本地参数:vm

  • 源参数:vm[in-parameter]

  • 类型:VC:VirtualMachine

  • 说明:要打开电源的虚拟机。

body

输出

绑定

  • 本地参数:body

  • 源参数:body[attribute]

  • 类型:字符串

  • 说明:电子邮件正文

“确定”可编辑脚本任务元素需要以下脚本函数。

body = "The VM '"+vm.name+"' has started successfully and is ready for use";
//Writes the following event in the Orchestrator database
Server.log(body);

“发送电子邮件失败”可编辑脚本任务元素

“发送电子邮件失败”可编辑脚本任务元素会接收电子邮件发送失败的通知,并将事件写入到 Orchestrator 日志中。

下表中显示了“发送电子邮件失败”可编辑脚本任务元素所需的输入参数绑定。

表 5. “发送电子邮件失败”可编辑脚本任务元素的绑定

参数名称

绑定类型

绑定到现有参数或创建参数?

绑定值

vm

输入

绑定

  • 本地参数:vm

  • 源参数:vm[in-parameter]

  • 类型:VC:VirtualMachine

  • 说明:要打开电源的虚拟机。

toAddress

输入

绑定

  • 本地参数:toAddress

  • 源参数:toAddress[in-parameter]

  • 类型:字符串

  • 说明:要接收该工作流结果通知的用户电子邮件地址

emailErrorCode

输入

创建

  • 本地参数:emailErrorCode

  • 源参数:emailErrorCode[attrbute]

  • 类型:字符串

  • 说明:在发送电子邮件时发现任何异常

“发送电子邮件失败”可编辑脚本任务元素需要以下脚本函数。

//Writes  the following event in the Orchestrator database
Server.error("Couldn't send result email to '"+toAddress+"' for VM '"+vm.name+"', exception found: "+emailErrorCode);

“发送电子邮件”可编辑脚本任务元素

“启动虚拟机并发送电子邮件”工作流的目的是在启动虚拟机时通知管理员。为此,您必须定义用于发送电子邮件的可编辑脚本任务。若要发送电子邮件,“发送电子邮件”可编辑脚本任务元素需要 SMTP 服务器、发件人地址和收件人地址、邮件主题和邮件内容。

下表中显示“发送电子邮件”可编辑脚本任务元素所需的输入和输出参数绑定。

表 6. “发送电子邮件”可编辑脚本任务元素的绑定

参数名称

绑定类型

绑定到现有参数或创建参数?

绑定值

vm

输入

绑定

  • 本地参数:vm

  • 源参数:vm[in-parameter]

  • 类型:VC:VirtualMachine

  • 说明:要打开电源的虚拟机。

toAddress

输入

绑定

  • 本地参数:toAddress

  • 源参数:toAddress[in-parameter]

  • 类型:字符串

  • 说明:要接收该工作流结果通知的用户电子邮件地址

body

输入

绑定

  • 本地参数:body

  • 源参数:body[attribute]

  • 类型:字符串

  • 说明:电子邮件正文

smtpHost

输入

创建

  • 本地参数:smtpHost

  • 源参数:smtpHost[attribute]

  • 类型:字符串

  • 说明:电子邮件 SMTP 服务器

fromAddress

输入

创建

  • 本地参数:fromAddress

  • 源参数:fromAddress[attribute]

  • 类型:字符串

  • 说明:发件人的电子邮件地址

subject

输入

创建

  • 本地参数:subject

  • 源参数:subject[attribute]

  • 类型:字符串

  • 说明:电子邮件主题

“发送电子邮件”可编辑脚本任务元素需要以下脚本函数。

//Create an instance of EmailMessage
var myEmailMessage = new EmailMessage() ;

//Apply methods on this instance that populate the email message
myEmailMessage.smtpHost = smtpHost;
myEmailMessage.fromAddress = fromAddress;
myEmailMessage.toAddress = toAddress;
myEmailMessage.subject = subject;
myEmailMessage.addMimePart(body , "text/html");

//Apply the method that sends the email message
myEmailMessage.sendMessage();
System.log("Sent email to '"+toAddress+"'");