Service Broker 요청 양식을 사용자 지정할 때 vRealize Orchestrator 작업의 결과를 기준으로 일부 필드의 동작을 설정할 수 있습니다.

vRealize Orchestrator 작업을 사용할 수 있는 방법에는 몇 가지가 있습니다. 제3의 소스에서 데이터를 가져오는 작업을 사용하거나 크기와 비용을 정의하는 스크립트를 사용할 수 있습니다.

첫 번째 예는 기본 프로세스를 이해하도록 수동으로 추가된 필드를 기반으로 합니다. 두 번째 예에서는 동일한 전제를 사용하지만 대신 템플릿 필드를 기반으로 합니다.

세 번째 예는 카탈로그 요청 양식에 추가된 사용자 지정 옵션을 기반으로 하며, 이 경우 사용자는 사용자 지정 vRealize Orchestrator 작업의 결과를 기반으로 폴더를 선택합니다.

네 번째 예는 vRealize Orchestrator 워크플로 특성을 사용하여 요청 양식의 필드를 사용자 지정합니다.

다음 예 외에도 VMware Cloud Management 블로그에서 다른 예를 사용할 수 있습니다.

수동으로 추가한 크기 및 비용 필드 예

이 사용 사례에서는 카탈로그 사용자가 가상 시스템 크기를 선택한 다음 해당 시스템의 일별 비용을 표시하게 하려고 합니다. 이 예제를 수행하기 위해 크기와 비용을 상호 연관시키는 vRealize Orchestrator 스크립트를 사용합니다. 그런 다음 크기 필드와 비용 필드를 템플릿 사용자 지정 양식에 추가합니다. 크기 필드는 비용 필드에 나타나는 값을 결정합니다.

  1. vRealize Orchestrator에서 getWindows10Cost라는 이름의 작업을 구성합니다.
    크기와 비용을 사용하는 vRealize Orchestrator 작업의 예
  2. 스크립트를 추가합니다.

    다음 예제 스크립트를 사용할 수 있습니다.

    var cost = "Unknown";
    
    switch(deploymentSize) {
    	case 'small' : cost = "$15";break;
    	case 'medium' : cost = "$25";break;
    	case 'large' : cost = "$45";break ;
    	
    	default : break ;
    }
    
    return cost;
  3. 입력 문자열로 deploymentSize를 추가합니다.
  4. Service Broker에서 크기 필드를 템플릿 사용자 지정 양식에 추가하고 구성합니다.

    크기 필드를 Small, Medium 및 Large 값이 있는 드롭다운 요소로 구성합니다.

    사용자 지정 양식에 크기 필드 값이 채워져 있습니다.

    탭에서 다음 속성 값을 구성합니다.

    • 기본값 = Large
    • 값 옵션
      • 값 소스 = 상수
      • 값 정의 = small|Small,medium|Medium,large|Large
  5. 크기 필드에서 선택된 값을 기반으로 vRealize Orchestrator 작업에 정의된 대로 비용을 표시하도록 비용 필드를 텍스트 필드로 추가합니다.
    사용자 지정 양식에 비용 필드 값이 채워져있니다.

    탭에서 다음 속성 값을 구성합니다.

    • 기본값 = 외부 소스
    • 작업 선택 = <vRealize Orchestrator 작업 폴더>/getWindows10Cost
    • 작업 입력
      • deploymentSize. 이 값은 작업에 입력으로 구성되어 있습니다.
      • 필드
      • 크기. 이것은 이전에 생성한 필드입니다.
  6. 사용자 지정 양식을 사용하도록 설정하고 저장합니다.
  7. 작동하는지 확인하려면 카탈로그에서 항목을 요청합니다. 선택한 크기 값에 따라 비용 필드가 채워집니다.
    채워진 카탈로그 예

스키마 요소에 기반한 비용 예

이 사용 사례에서는 카탈로그 사용자가 템플릿의 버전 속성을 기반으로 일별 시스템 비용을 볼 수 있습니다. 이 예제를 수행하기 위해 이전 예의 vRealize Orchestrator 스크립트를 사용합니다. 하지만 이 사용 사례에서 비용은 사용자가 Service Broker 카탈로그 항목을 요청할 때 사용자 지정 양식에서 선택한 버전 크기를 기반으로 합니다.

간단한 예제 템플릿에는 사용자가 버전 속성을 선택하는 크기 입력 필드가 포함되어 있습니다.
템플릿의 버전 매핑에 대한 입력 예
사용자 지정 양식은 이 예에서 Select machine size라는 이름의 필드를 사용합니다.
사용자 지정 양식 디자이너의 값 옵션
비용의 deploymentSize 입력은 [시스템 크기 선택] 필드를 기반으로 합니다.
카탈로그 요청의 스키마 크기 필드에 기반한 비용

사용자 지정 작업 예제에 기반한 대상 폴더

이 사용 사례에서는 카탈로그 사용자가 한 폴더에서 다른 폴더로 시스템을 이동할 때 사용할 수 있는 폴더 중에서 선택하도록 할 수 있습니다. 이 예를 수행하려면 카탈로그에서 작업을 요청하는 사용자가 사용할 수 있는 폴더를 반환하는 사용자 지정 작업을 vRealize Orchestrator에서 생성합니다. 그런 다음 카탈로그 요청 양식에서 대상 폴더 필드를 사용자 지정합니다.

카탈로그에서 이 예에 사용되는 폴더로 여러 가상 시스템 이동 워크플로는 Cloud Assembly에서 생성된 사용자 지정 리소스 작업으로 노출됩니다.

  1. vRealize Orchestrator에서 getFolderForUser라는 이름의 작업을 생성합니다.
    1. 스크립트 탭에서 작업 입력을 추가하고 출력의 반환 유형을 선택한 다음, 스크립트를 추가합니다.

      다음 예제 스크립트를 사용할 수 있습니다.

      var parentTargetDirName = "users";
      var sdkConnection = VcPlugin.findSdkConnectionForUUID(vcUuid);
      var rootFolder = sdkConnection.getAllVmFolders(null, "xpath:matches(name,'" + parentTargetDirName + "')")[0];
      var result = new Array();
      for each(var folder in rootFolder.childEntity) {
          if (folder instanceof VcFolder && folder.permission.length > 0) {
              var entityPrivilege = sdkConnection.authorizationManager.hasUserPrivilegeOnEntities([folder], username, ["System.Read"])[0];
              if (entityPrivilege.privAvailability[0].isGranted) {
                  result.push(folder);
              }
          }
      }
      return result;
    2. 작업 편집을 마쳤으면 저장을 클릭합니다.
  2. Cloud Assembly에서 ChangeFolder라는 사용자 지정 리소스 작업을 생성합니다.
    1. Cloud.vSphere.Machine 리소스 유형을 선택합니다.
    2. 폴더로 여러 가상 시스템 이동 워크플로를 선택합니다.
  3. 사용자가 작업을 요청할 때 표시되는 요청 양식을 사용자 지정합니다.
    1. ChangeFolder 작업을 엽니다.
    2. 요청 매개 변수 편집을 클릭합니다.
    3. 대상 폴더 필드가 사용자에게 표시되는 방식을 사용자 지정합니다.
      값 옵션 샘플 값
      값 소스 외부 소스
      작업 선택 getFolderForUser
      작업 입력

      username Field

      문자열 선택 > 요청 정보 필드 > 요청한 사람을 클릭합니다.

      선택을 클릭합니다.

      작업 입력

      vcUuid

      문자열 선택 > 요청 정보 필드 > 리소스 속성 > vCenter UUID를 클릭합니다.

      선택을 클릭합니다.

    4. 저장을 클릭합니다.

사용자가 카탈로그에서 작업을 요청하면 사용 가능한 폴더에서 가상 시스템의 대상 폴더를 선택할 수 있습니다.

워크플로 특성에 기반한 호스트 이름 예

이 사용 사례에서는 vRealize Orchestrator 워크플로 특성을 사용하여 요청 양식의 URL 필드를 사용자 지정하려고 합니다. 이 예를 수행하려면 상수 값이 있거나 구성 요소에 바인딩된 특성 또는 변수가 있는 vRealize Orchestrator 워크플로가 필요합니다. 워크플로를 실행하기 전에 바인딩이 완료되므로 특성 또는 변수에 초기 값이 설정되어 있어야 합니다.
  1. vRealize Orchestrator에서 기존 워크플로를 생성하거나 복제합니다. 예를 들어 REST 호스트 추가 워크플로를 복제합니다.
    1. 변수 탭에서 변수를 추가하고 구성 요소에 바인딩합니다.
      값 옵션 샘플 값
      이름 hostname
      유형 string
      구성 구성에 바인딩 옵션을 사용하도록 설정합니다.

      구성 텍스트 상자에서 변수를 바인딩할 구성을 선택합니다. 예를 들어 사용자 지정 vRO 구성: 호스트 이름 요소를 선택합니다.

    2. 워크플로를 저장합니다.
  2. Service Broker에서 워크플로를 가져옵니다.
  3. 요청 양식을 사용자 지정합니다.
    1. 양식 디자이너에서 URL 요소를 클릭합니다.
    2. 탭에서 값 소스를 바인딩 필드로 설정합니다.
    3. 값 필드 > 요청 정보 필드를 클릭합니다.
    4. hostname 변수 또는 사용 가능한 워크플로 특성을 선택합니다.
  4. 양식을 저장하고 사용하도록 설정합니다.

사용자가 카탈로그에서 워크플로를 요청하면 URL 필드가 hostname 변수를 기반으로 채워집니다.

다른 프로젝트로 전환하면 워크플로 속성이 다시 계산됩니다. 워크플로가 다른 vRealize Orchestrator 통합에서 올 수 있기 때문입니다.