사용자 상호 작용 프레젠테이션에서는 워크플로의 입력 매개 변수에 전달할 수 있는 값에 대한 제약 조건을 정의할 수 있습니다. 사용자 상호 작용에 응답할 때 사용자 상호 작용 프레젠테이션에 정의된 제약 조건에 대해 입력 매개 변수에 전달하는 값의 유효성을 검사할 수 있습니다.

시작하기 전에

Orchestrator에서 샘플 워크플로 패키지를 가져왔는지 확인합니다. 이 패키지는 Orchestrator 설명서 페이지에서 다운로드할 수 있는 Orchestrator 샘플 애플리케이션 ZIP 파일에 포함되어 있습니다.

프로시저

  1. 사용 가능한 사용자 상호 작용 개체를 유지하는 URL에서 GET 요청을 만들거나 대기 중인 사용자 상호 작용만 필터링하여 모든 사용자 상호 작용 개체의 목록을 검색합니다.

    URL

    설명

    https://orchestrator_host:port/vco/api/catalog/System/UserInteraction

    Orchestrator에서 사용 가능한 사용자 상호 작용 개체를 유지합니다.

    https://orchestrator_host:port/vco/api/catalog/System/UserInteraction?status=0

    대기 중인 사용자 상호 작용 개체만 필터링합니다.

    사용 가능한 사용자 상호 작용 개체 목록이 수신됩니다. 대기 중인 사용자 상호 작용에는 이름이 state이고 값이 waiting인 특성이 있습니다.

  2. 응답할 대기 중인 사용자 상호 작용의 인벤토리 항목을 유지하는 URL에서 GET 요청을 만듭니다.
    GET https://{orchestrator_host}:{port}/vco/api/catalog/System/UserInteraction/{userInteractionID}/

    응답 본문에 사용자 상호 작용 인스턴스의 링크가 포함됩니다. 사용자 상호 작용 인스턴스는 특정 워크플로 실행과 연결됩니다.

  3. 사용자 상호 작용 인스턴스의 URL에서 GET 요청을 만듭니다.
    GET https://{orchestrator_host}:{port}/vco/api/workflows/{workflowID}/executions/{executionID}/interaction/

    응답 본문에 사용자 상호 작용 프레젠테이션의 다운링크가 있습니다.

  4. 사용자 상호 작용 프레젠테이션의 URL에서 GET 요청을 만듭니다.
    GET https://{orchestrator_host}:{port}/vco/api/workflows/{workflowID}/executions/{executionID}/interaction/presentation/

    응답 본문에 사용자 상호 작용 프레젠테이션의 정의가 수신됩니다.

  5. 프레젠테이션 정의에서 입력 매개 변수에 전달할 수 있는 값에 대한 제약 조건을 확인합니다.
  6. 프레젠테이션 인스턴스가 있는 URL에서 POST 요청을 만들어 사용자 상호 작용 프레젠테이션을 실행합니다.
    POST https://{orchestrator_host}:{port}/vco/api/workflows/{workflowID}/executions/{executionID}/interaction/presentation/instances/
  7. 요청 본문에서 execution-context 요소의 입력 매개 변수에 대한 값을 제공합니다.

    응답 본문에 사용자 상호 작용 프레젠테이션의 인스턴스가 수신됩니다. 입력 매개 변수에 전달한 값이 유효한 경우 execution 요소에 valid="true" 특성이 있습니다. output-parameters 요소에서 사용자 상호 작용에 응답하는 데 사용할 수 있는 입력 매개 변수의 유효한 값을 확인할 수 있습니다.

  8. 사용자 상호 작용 인스턴스가 있는 URL에서 POST 요청을 만들어 사용자 상호 작용에 응답합니다.
    POST https://{orchestrator_host}:{port}/vco/api/workflows/{workflowID}/executions/{executionID}/interaction/
  9. 요청 본문에서 입력 매개 변수에 대한 값과 함께 execution-context 컨텍스트를 전달합니다.

    사용자 상호 작용 프레젠테이션의 URL에서 만든 POST 요청과 동일한 요청 본문을 사용할 수 있습니다.

결과

마지막 요청에 성공하면 상태 코드 204와 빈 응답 본문이 수신됩니다.

입력 매개 변수의 유효성을 검사하여 대화형 Hello World 워크플로의 사용자 상호 작용에 응답

사용자 상호 작용 프레젠테이션에 정의된 제약 조건에 대해 입력 매개 변수 값의 유효성을 검사하여 대화형 Hello World 워크플로의 사용자 상호 작용에 응답할 수 있습니다.

  1. Catalog Service의 사용자 상호 작용 개체에 대한 끝점에서 GET 요청을 만들어 워크플로의 대기 중인 사용자 상호 작용을 검색합니다.

    GET https://localhost:8281/vco/api/catalog/System/UserInteraction?status=0
  2. 대화형 Hello World 워크플로에 대한 사용자 상호 작용 인벤토리 개체를 찾아 해당 URL에서 GET 요청을 만듭니다.

    GET https://localhost:8281/vco/api/catalog/System/UserInteraction/888080808080808080808080808080805A8080800132145338690643f66a027ec/
  3. 사용자 상호 작용 인스턴스의 URL에서 GET 요청을 만듭니다.

    GET https://localhost:8281/vco/api/catalog/System/UserInteraction/888080808080808080808080808080805A8080800132145338690643f66a027ec/interaction/
  4. 사용자 상호 작용 프레젠테이션의 URL에서 GET 요청을 만듭니다.

    GET https://localhost:8281/vco/api/catalog/System/UserInteraction/888080808080808080808080808080805A8080800132145338690643f66a027ec/interaction/presentation/

    이 프레젠테이션은 입력 매개 변수를 필수로 정의하며, 전달할 수 있는 문자열 길이에 대한 제약 조건을 포함합니다.

  5. 사용자 상호 작용 프레젠테이션의 인스턴스를 유지하는 URL에서 POST 요청을 만듭니다.

    POST https://localhost:8281/vco/api/catalog/System/UserInteraction/888080808080808080808080808080805A8080800132145338690643f66a027ec/interaction/presentation/instances/

    요청 본문에서 입력 매개 변수에 대한 값을 제공합니다.

    <execution-context xmlns="http://www.vmware.com/vco">
       <parameters>
         <parameter name="name" type="string">
           <string>John Smith</string>
         </parameter>
       </parameters>
    </execution-context>

    응답 본문의 execution 요소에 입력 매개 변수 값이 사용자 상호 작용 프레젠테이션의 제약 조건에 대해 유효함을 나타내는 valid="true" 특성이 포함됩니다. 유효한 값이 output-parameters 요소에 나열됩니다.

    ............
    <output-parameters>
      <parameter name="name" type="string">
         <string>John Smith</string>
       </parameter>
    </output-parameters>
    ............

  6. 5단계의 POST 요청과 동일한 요청 본문을 전달하여 사용자 상호 작용 인스턴스의 URL에서 POST 요청을 만듭니다.

    POST https://localhost:8281/vco/api/catalog/System/UserInteraction/888080808080808080808080808080805A8080800132145338690643f66a027ec/interaction/