

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ジョブパラメータタイプ
<a name="build-job-bundle-parameter-types"></a>

ジョブテンプレート`parameterDefinitions`のリストの各エントリは、1 つのジョブパラメータを宣言します。すべてのパラメータには `name`と があり`type`、、`description`、 を持つ`userInterface`ブロック`default`、、`groupLabel`および `label`を持つことができます`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`が設定されている場合。また`MULTILINE_EDIT`、 が などの true/false ペア`allowedValues`を保持する`CHECK_BOX`場合、 と も受け入れます`["true", "false"]`。

`PATH`  
ファイルまたはディレクトリパス。パスマッピングルールは、ワーカーの値に適用されます。制約: `allowedValues`、`minLength`、、`maxLength``objectType`、`dataFlow`。コントロール: `CHOOSE_INPUT_FILE`および に応じて`CHOOSE_OUTPUT_FILE`、`CHOOSE_DIRECTORY`、、または `objectType` `dataFlow`。

`BOOL` ( が必要です`EXPR`)  
`true` または `false`、数字`1`または `yes`、`0`または文字列 `true`、、`on`、`1``false``no``off`、、、 は任意の文字の大文字と小文字`0`です。制約はありません。コントロール: `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`。コントロール: `CHOOSE_INPUT_FILE_LIST`および に応じて`CHOOSE_OUTPUT_FILE_LIST`、`CHOOSE_DIRECTORY_LIST`、、または `objectType` `dataFlow`。

`LIST[INT]`、 `LIST[FLOAT]` ( が必要`EXPR`)  
数値のリスト。制約: リスト`maxLength`の場合は `minLength`と 、各項目`item.maxValue`の場合は `item.allowedValues`、`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]`型には 2 つの追加フィールドがあります。 `objectType`は `FILE`または で`DIRECTORY`、 `dataFlow`は `IN`、`OUT`、`INOUT`、または です`NONE`。ジョブアタッチメントはこれらのフィールドを読み取って、入力としてアップロードするパスと出力を監視するパスを決定します。`PATH` パラメータは、ファイルダイアログ`fileFilterDefault`の `fileFilters`および もサポートします。詳細については、「[ジョブバンドルのジョブテンプレート要素](build-job-bundle-template.md)」を参照してください。

次の定義は、チェックボックス、フレーム範囲、カメラ名のリスト、および入力ファイルのリストを示しています。テンプレートは、最後の 4 つのタイプで必要`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` または list パラメータは、各フレームまたは項目がタスクになるように、タスクパラメータ`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 }}"
```

最後の 2 つの引数は式です。`null` 結果は引数を追加せず、リスト結果は各項目を個別の引数として追加します。詳細については、「[ジョブテンプレートの式](build-job-bundle-expressions.md)」を参照してください。

`EXPR` パラメータタイプを使用するジョブバンドルを送信するには、Deadline Cloud CLI と の送信ダイアログ`deadline bundle gui-submit`、および Deadline Cloud モニターが拡張機能をサポートするバージョンである必要があります。古いクライアントは、これらのタイプのテンプレートを拒否します。