

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 작업 파라미터 유형
<a name="build-job-bundle-parameter-types"></a>

작업 템플릿 `parameterDefinitions` 목록의 각 항목은 하나의 작업 파라미터를 선언합니다. 모든 파라미터에는 `name` 및가 있으며`description`, `type`, 및 `default`, 및가 있는 `userInterface` 블록`label`이 있을 수 있습니다`groupLabel``control`. 유형에 따라 파라미터가 허용하는 값, 파라미터가 지원하는 제약 조건 필드, 제출 대화 상자에 기본적으로 표시되는 제어가 결정됩니다. 템플릿은 값을 라고 합니다`{{Param.{{Name}}}}`. 유형은 다음과 같습니다.

일부 유형은 기본 Open Job Description 사양의 일부입니다. 나머지는 `EXPR` 확장에 의해 추가되며 이를 사용하는 템플릿은 `EXPR`에 나열되어야 합니다`extensions`. 각 유형의 field-by-field 정의는 GitHub 웹 사이트의 [Open Job Description 작업 파라미터 정의를](https://github.com/OpenJobDescription/openjd-specifications/wiki/2023-09-Template-Schemas#2-jobparameterdefinition) 참조하세요.

`INT`  
정수, 숫자 또는 숫자 문자열. 제약 조건: `allowedValues`, `minValue`, `maxValue`. 제어: `SPIN_BOX`가 설정된 `DROPDOWN_LIST` 경우 또는 `allowedValues`입니다.

`FLOAT`  
숫자, 숫자 또는 숫자 문자열. 제약 조건: `allowedValues`, `minValue`, `maxValue`. 제어: `SPIN_BOX`가 설정된 `DROPDOWN_LIST` 경우 또는 `allowedValues`입니다. `decimals` 필드는 편집 가능한 소수 자릿수를 설정합니다.

`STRING`  
문자열입니다. 제약 조건: `allowedValues`, `minLength`, `maxLength`. 제어: `LINE_EDIT`가 설정된 `DROPDOWN_LIST` 경우 또는 `allowedValues`입니다. 또한와 같은 true/false 페어가 `allowedValues` 있는 `CHECK_BOX` 경우 `MULTILINE_EDIT`및를 허용합니다`["true", "false"]`.

`PATH`  
파일 또는 디렉터리 경로입니다. 경로 매핑 규칙은 작업자의 값에 적용됩니다. 제약 조건: `allowedValues`, `minLength`, `maxLength`, `objectType`, `dataFlow`. 제어: `objectType` 및에 따라 `CHOOSE_DIRECTORY`, `CHOOSE_INPUT_FILE` `CHOOSE_OUTPUT_FILE`또는를 제어합니다`dataFlow`.

`BOOL`(`EXPR` 필수)  
`true` 또는 `false`, 숫자 `1` 또는 `0`, 또는 모든 문자`0`의 문자열 `true`, `yes``on`, , `1`, `false`, `no`, `off`. 제약이 없습니다. 제어: `CHECK_BOX`.

`RANGE_EXPR`(`EXPR` 필수)  
`"1-100"`, `"1-100:10"`또는와 같은 정수 범위 표현식입니다`"1,3,5-9"`. 제약 조건: `minLength`, `maxLength`. 제어: `LINE_EDIT`.

`LIST[STRING]`(`EXPR` 필수)  
문자열 목록입니다. 제약 조건: 목록의 `maxLength` 경우 `minLength` 및 `item.allowedValues`, 각 항목의 `item.maxLength` 경우 `item.minLength`, 및 . 제어: `LINE_EDIT_LIST`.

`LIST[PATH]`(`EXPR` 필수)  
경로 목록입니다. 경로 매핑 규칙은 각 값에 적용됩니다. 제약 조건: `LIST[STRING]`, 및의 목록 `objectType` 및 항목 제약 조건입니다`dataFlow`. 제어: `objectType` 및에 따라 `CHOOSE_DIRECTORY_LIST`, `CHOOSE_INPUT_FILE_LIST` `CHOOSE_OUTPUT_FILE_LIST`또는를 제어합니다`dataFlow`.

`LIST[INT]`, `LIST[FLOAT]` (필수`EXPR`)  
숫자 목록입니다. 제약 조건: 목록의 `maxLength` 경우 `minLength` 및 `item.allowedValues`, 각 항목의 `item.maxValue` 경우 `item.minValue`, 및 . 제어: `SPIN_BOX_LIST`.

`LIST[BOOL]`(`EXPR` 필수)  
각각와 동일한 값을 수락하는 부울 값 목록입니다`BOOL`. 제약 조건: `minLength`, `maxLength`. 제어: `CHECK_BOX_LIST`.

`LIST[LIST[INT]]`(`EXPR` 필수)  
인접 목록과 같은 구조화된 입력의 정수 목록입니다. 제약 조건: 중첩 제약 `item` 조건. 컨트롤: `HIDDEN`,이 유형에 대한 시각적 컨트롤은 없습니다.

또한 모든 유형은를 제어`HIDDEN`로 허용하므로 파라미터를 제출 대화 상자에서 제외합니다. 파이프라인이 프로그래밍 방식으로 제공하는 값에 `HIDDEN` 대해를 설정합니다.

`PATH` 및 `LIST[PATH]` 유형에는 두 개의 추가 필드가 있습니다. `objectType`는 `FILE` 또는 이고 `DIRECTORY`는 `IN`, `OUT`, `INOUT`또는 `dataFlow`입니다`NONE`. 작업 첨부 파일은 이러한 필드를 읽고 입력으로 업로드할 경로와 출력을 감시할 경로를 결정합니다. `PATH` 파라미터는 파일 대화 상자에 `fileFilterDefault` 대해 `fileFilters` 및 도 지원합니다. 자세한 내용은 [작업 번들에 대한 작업 템플릿 요소](build-job-bundle-template.md) 섹션을 참조하세요.

다음 정의는 확인란, 프레임 범위, 카메라 이름 목록 및 입력 파일 목록을 보여줍니다. 마지막 네 가지 유형에 필요`EXPR`하므로 템플릿에이 나열됩니다.

```
specificationVersion: 'jobtemplate-2023-09'
extensions:
  - EXPR
parameterDefinitions:
  - name: Samples
    type: INT
    default: 64
    minValue: 1
    maxValue: 4096
  - name: UseGpu
    type: BOOL
    default: false
    userInterface:
      label: Render on GPU
  - name: Frames
    type: RANGE_EXPR
    default: "1-100"
    userInterface:
      label: Frame Range
  - name: Cameras
    type: LIST[STRING]
    default: ["main", "closeup"]
    minLength: 1
    userInterface:
      label: Cameras to Render
  - name: Textures
    type: LIST[PATH]
    objectType: FILE
    dataFlow: IN
    default: []
```

`EXPR` 확장이 있는 템플릿에서 각 파라미터에는 일치하는 표현식 유형이 , `int`, `float`, `string`, `path``bool`, `range_expr`또는 입니다`list[{{T}}]`. `RANGE_EXPR` 또는 목록 파라미터는 작업 파라미터`range`의가 될 수 있으므로 각 프레임 또는 항목이 작업이 됩니다. `PATH` 및의 경우 `LIST[PATH]``RawParam.{{Name}}`는 경로 매핑 전에 문자열로 제출된 값입니다.

```
steps:
  - name: Render
    parameterSpace:
      taskParameterDefinitions:
        - name: Camera
          type: STRING
          range: "{{Param.Cameras}}"
        - name: Frame
          type: INT
          range: "{{Param.Frames}}"
    script:
      actions:
        onRun:
          command: render
          args:
            - "--camera"
            - "{{Task.Param.Camera}}"
            - "--frame"
            - "{{Task.Param.Frame}}"
            - "--samples"
            - "{{Param.Samples}}"
            - "{{ '--gpu' if Param.UseGpu else null }}"
            - "{{ ['--textures', Param.Textures.join(',')] if len(Param.Textures) > 0 else null }}"
```

마지막 두 인수는 표현식입니다. `null` 결과는 인수를 추가하지 않고, 목록 결과는 각 항목을 별도의 인수로 추가합니다. 자세한 내용은 [작업 템플릿의 표현식](build-job-bundle-expressions.md) 섹션을 참조하세요.

`EXPR` 파라미터 유형을 사용하는 작업 번들을 제출하려면 Deadline Cloud CLI와의 제출 대화 상자 `deadline bundle gui-submit` 및 Deadline Cloud 모니터가 확장을 지원하는 버전이어야 합니다. 이전 클라이언트는 이러한 유형의 템플릿을 거부합니다.