바인딩은 간단한 워크플로 예제의 스크립팅 가능한 작업 요소가 입력 매개 변수를 처리하는 방법을 정의합니다. 스크립팅 가능한 작업 요소를 해당 JavaScript 함수에 바인딩할 수도 있습니다.

바인딩을 정의할 때 Orchestrator는 워크플로에 바인딩 후보로 이미 정의한 매개 변수를 제시합니다. 워크플로에 필수 매개 변수를 아직 정의하지 않은 경우 유일한 매개 변수 선택 항목은 NULL입니다. 워크플로에서 매개 변수/특성 생성을 클릭하여 새 매개 변수를 만듭니다.

VM 시작 실패 스크립팅 가능한 작업

VM 시작 실패 스크립팅 가능한 작업 요소는 가상 시스템을 시작하지 못했음을 알리는 이메일 알림 내용을 설정하고 Orchestrator 로그에 이 이벤트를 작성하여 startVM 작업이 발생시킨 모든 예외를 처리합니다.

다음 표에서는 VM 시작 실패 스크립팅 가능한 작업 요소에 필요한 입력 및 출력 매개 변수 바인딩을 보여 줍니다.

표 1. VM 시작 실패 스크립팅 가능한 작업 요소의 바인딩

매개 변수 이름

바인딩 유형

기존 매개 변수에 바인딩 또는 매개 변수 생성 여부

바인딩 값

vm

입력

바인딩

  • 로컬 매개 변수: vm

  • 소스 매개 변수: vm[in-parameter]

  • 유형: VC:VirtualMachine

  • 설명: 전원을 켤 가상 시스템.

errorCode

입력

생성

  • 로컬 매개 변수: errorCode

  • 소스 매개 변수: errorCode[attribute]

  • 유형: 문자열

  • 설명: VM의 전원을 켜는 동안 모든 예외 포착.

body

출력

생성

  • 로컬 매개 변수: body

  • 소스 매개 변수: body[attribute]

  • 유형: 문자열

  • 설명: 이메일 본문

VM 시작 실패 스크립팅 가능한 작업 요소는 다음과 같은 스크립팅된 함수를 수행합니다.

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 스크립팅 가능한 작업 요소는 작업 실패를 알리는 이메일 알림 내용을 설정하고 Orchestrator 로그에 이 이벤트를 작성하여 vim3WaitTaskEnd 작업이 발생시킨 모든 예외를 처리합니다.

다음 표에서는 시간 초과 1 스크립팅 가능한 작업 요소에 필요한 입력 및 출력 매개 변수 바인딩을 보여 줍니다.

표 2. 시간 초과 1 스크립팅 가능한 작업 요소의 바인딩

매개 변수 이름

바인딩 유형

기존 매개 변수에 바인딩 또는 매개 변수 생성 여부

바인딩 값

vm

입력

바인딩

  • 로컬 매개 변수: vm

  • 소스 매개 변수: vm[in-parameter]

  • 유형: VC:VirtualMachine

  • 설명: 시작할 가상 시스템.

errorCode

입력

바인딩

  • 로컬 매개 변수: errorCode

  • 소스 매개 변수: errorCode[attribute]

  • 유형: 문자열

  • 설명: VM의 전원을 켜는 동안 모든 예외 포착.

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 스크립팅 가능한 작업 요소는 작업 실패를 알리는 이메일 알림 내용을 설정하고 Orchestrator 로그에 이 이벤트를 작성하여 vim3WaitToolsStarted 작업이 발생시킨 모든 예외를 처리합니다.

다음 표에서는 시간 초과 2 스크립팅 가능한 작업 요소에 필요한 입력 및 출력 매개 변수 바인딩을 보여 줍니다.

표 3. 시간 초과 2 스크립팅 가능한 작업 요소의 바인딩

매개 변수 이름

바인딩 유형

기존 매개 변수에 바인딩 또는 매개 변수 생성 여부

바인딩 값

vm

입력

바인딩

  • 로컬 매개 변수: vm

  • 소스 매개 변수: vm[in-parameter]

  • 유형: VC:VirtualMachine

  • 설명: 전원을 켤 가상 시스템.

errorCode

입력

바인딩

  • 로컬 매개 변수: errorCode

  • 소스 매개 변수: errorCode[attribute]

  • 유형: 문자열

  • 설명: VM의 전원을 켜는 동안 모든 예외 포착.

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

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

이메일 전송 실패함 스크립팅 가능한 작업 요소

이메일 전송 실패함 스크립팅 가능한 작업 요소는 이메일 전송 실패 알림을 받아 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);

이메일 전송 스크립팅 가능한 작업 요소

VM 시작 및 이메일 전송 워크플로의 목적은 가상 시스템을 시작할 때 관리자에게 알리는 것입니다. 이를 위해 이메일을 전송하는 스크립팅 가능한 작업을 정의해야 합니다. 이메일을 보내려면 이메일 전송 스크립팅 가능한 작업 요소에 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+"'");