繫結會定義簡單工作流程範例的可編寫指令碼工作元素應如何處理輸入參數。您也可以將可編寫指令碼工作元素繫結到其 JavaScript 函數。

定義繫結時,Orchestrator 會將您在工作流程中定義的參數呈現為繫結的候選。如果您尚未在工作流程中定義所需的參數,唯一的參數選擇是 NULL。按一下在工作流程中建立參數/屬性建立新參數。

Start VM failed 可編寫指令碼工作

Start VM failed 可編寫指令碼工作元素會處理 startVM 動作擲回的任何例外狀況,方法是設定關於無法啟動虛擬機器的電子郵件通知內容,並在 Orchestrator 記錄中寫入事件。

下表顯示 Start VM failed 可編寫指令碼工作元素需要的輸入和輸出參數繫結。

表格 1. Start VM failed 可編寫指令碼工作元素的繫結

參數名稱

繫結類型

繫結到現有參數或建立參數?

繫結值

vm

輸入

繫結

  • 本機參數:vm

  • 來源參數:vm[in-parameter]

  • 類型:VC:VirtualMachine

  • 說明:要開啟電源的虛擬機器。

errorCode

輸入

建立

  • 本機參數:errorCode

  • 來源參數:errorCode[attribute]

  • 類型:字串

  • 說明:捕捉開啟虛擬機器電源時發生的任何例外狀況。

body

輸出

建立

  • 本機參數:body

  • 來源參數:body[attribute]

  • 類型:字串

  • 說明:電子郵件內文

Start VM Failed 可編寫指令碼工作元素會執行下列指令碼式函數。

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);

Timeout 1 可編寫指令碼工作元素

Timeout 1 可編寫指令碼工作元素會處理 vim3WaitTaskEnd 動作擲回的任何例外狀況,方法是設定關於工作失敗的電子郵件通知內容,並在 Orchestrator 記錄中寫入事件。

下表顯示 Timeout 1 可編寫指令碼工作元素需要的輸入和輸出參數繫結。

表格 2. Timeout 1 可編寫指令碼工作元素的繫結

參數名稱

繫結類型

繫結到現有參數或建立參數?

繫結值

vm

輸入

繫結

  • 本機參數:vm

  • 來源參數:vm[in-parameter]

  • 類型:VC:VirtualMachine

  • 說明:要啟動的虛擬機器。

errorCode

輸入

繫結

  • 本機參數:errorCode

  • 來源參數:errorCode[attribute]

  • 類型:字串

  • 說明:捕捉開啟虛擬機器電源時發生的任何例外狀況。

body

輸出

繫結

  • 本機參數:body

  • 來源參數:body[attribute]

  • 類型:字串

  • 說明:電子郵件內文

Timeout 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);

Timeout 2 可編寫指令碼工作元素

Timeout 2 可編寫指令碼工作元素會處理 vim3WaitToolsStarted 動作擲回的任何例外狀況,方法是設定關於工作失敗的電子郵件通知內容,並在 Orchestrator 記錄中寫入事件。

下表顯示 Timeout 2 可編寫指令碼工作元素需要的輸入和輸出參數繫結。

表格 3. Timeout 2 可編寫指令碼工作元素的繫結

參數名稱

繫結類型

繫結到現有參數或建立參數?

繫結值

vm

輸入

繫結

  • 本機參數:vm

  • 來源參數:vm[in-parameter]

  • 類型:VC:VirtualMachine

  • 說明:要開啟電源的虛擬機器。

errorCode

輸入

繫結

  • 本機參數:errorCode

  • 來源參數:errorCode[attribute]

  • 類型:字串

  • 說明:捕捉開啟虛擬機器電源時發生的任何例外狀況。

body

輸出

繫結

  • 本機參數:body

  • 來源參數:body[attribute]

  • 類型:字串

  • 說明:電子郵件內文

Timeout 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);

OK 可編寫指令碼工作元素

OK 可編寫指令碼工作元素會接收虛擬機器已成功啟動的通知,並設定虛擬機器成功啟動的電子郵件通知內容,然後在 Orchestrator 記錄中寫入事件。

下表顯示 OK 可編寫指令碼工作元素需要的輸入和輸出參數繫結。

表格 4. OK 可編寫指令碼工作元素的繫結

參數名稱

繫結類型

繫結到現有參數或建立參數?

繫結值

vm

輸入

繫結

  • 本機參數:vm

  • 來源參數:vm[in-parameter]

  • 類型:VC:VirtualMachine

  • 說明:要開啟電源的虛擬機器。

body

輸出

繫結

  • 本機參數:body

  • 來源參數:body[attribute]

  • 類型:字串

  • 說明:電子郵件內文

OK 可編寫指令碼工作元素需要下列指令碼式函數。

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

Send Email Failed 可編寫指令碼工作元素

Send Email Failed 可編寫指令碼工作元素會接收傳送電子郵件失敗的通知,然後在 Orchestrator 記錄中寫入事件。

下表顯示 Send Email Failed 可編寫指令碼工作元素需要的輸入參數繫結。

表格 5. Send Email Failed 可編寫指令碼工作元素的繫結

參數名稱

繫結類型

繫結到現有參數或建立參數?

繫結值

vm

輸入

繫結

  • 本機參數:vm

  • 來源參數:vm[in-parameter]

  • 類型:VC:VirtualMachine

  • 說明:要開啟電源的虛擬機器。

toAddress

輸入

繫結

  • 本機參數:toAddress

  • 來源參數:toAddress[in-parameter]

  • 類型:字串

  • 說明:通知此工作流程結果的收件人電子郵件地址

emailErrorCode

輸入

建立

  • 本機參數:emailErrorCode

  • 來源參數:emailErrorCode[attrbute]

  • 類型:字串

  • 說明:捕捉傳送電子郵件時發生的任何例外狀況

Send Email Failed 可編寫指令碼工作元素需要下列指令碼式函數。

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

Send Email 可編寫指令碼工作元素

[啟動虛擬機器並傳送電子郵件] 工作流程的目的是在啟動虛擬機器時通知管理員。若要這麼做,您必須定義傳送電子郵件的可編寫指令碼工作。若要傳送電子郵件,Send Email 可編寫指令碼工作元素需要 SMTP 伺服器、電子郵件寄件人和收件人的地址、電子郵件主旨,以及電子郵件內容。

下表顯示 Send Email 可編寫指令碼工作元素需要的輸入和輸出參數繫結。

表格 6. Send Email 可編寫指令碼工作元素的繫結

參數名稱

繫結類型

繫結到現有參數或建立參數?

繫結值

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]

  • 類型:字串

  • 說明:電子郵件主旨

Send Email 可編寫指令碼工作元素需要下列指令碼式函數。

//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+"'");