

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Tipos de parámetros de trabajo
<a name="build-job-bundle-parameter-types"></a>

Cada entrada de la `parameterDefinitions` lista de una plantilla de trabajo declara un parámetro de trabajo. Cada parámetro tiene una `name` y a`type`, y puede tener una `description``default`, a y un `userInterface` bloque con a`label`, a y a`control`. `groupLabel` El tipo determina qué valores acepta el parámetro, qué campos de restricción admite y qué controles muestra el cuadro de diálogo de envío de forma predeterminada. Una plantilla hace referencia al valor como`{{Param.{{Name}}}}`. Los tipos son los siguientes.

Algunos tipos forman parte de la especificación básica de Open Job Description. El resto lo añade la `EXPR` extensión, y la plantilla que los utilice debe figurar `EXPR` en la suya`extensions`. Para ver la definición campo por campo de cada tipo, consulte las [definiciones de parámetros de trabajo de Open Job Description](https://github.com/OpenJobDescription/openjd-specifications/wiki/2023-09-Template-Schemas#2-jobparameterdefinition) en el sitio web. GitHub 

`INT`  
Un entero, como un número o una cadena numérica. Restricciones:`allowedValues`,`minValue`,`maxValue`. Control:`SPIN_BOX`, o `DROPDOWN_LIST` cuando `allowedValues` esté configurado.

`FLOAT`  
Un número, como un número o una cadena numérica. Restricciones:`allowedValues`,`minValue`,`maxValue`. Control:`SPIN_BOX`, o `DROPDOWN_LIST` cuando `allowedValues` esté configurado. El `decimals` campo establece el número de decimales editables.

`STRING`  
Una cadena. Restricciones:`allowedValues`,`minLength`,`maxLength`. Control:`LINE_EDIT`, o `DROPDOWN_LIST` cuando `allowedValues` esté configurado. También acepta`MULTILINE_EDIT`, y `CHECK_BOX` cuando `allowedValues` sostiene un true/false par, como`["true", "false"]`.

`PATH`  
Una ruta de archivo o directorio. Las reglas de mapeo de rutas se aplican al valor del trabajador. Restricciones: `allowedValues``minLength`,`maxLength`,,`objectType`,`dataFlow`. Control:`CHOOSE_INPUT_FILE`,`CHOOSE_OUTPUT_FILE`, o`CHOOSE_DIRECTORY`, según `objectType` y`dataFlow`.

`BOOL`(requiere`EXPR`)  
`true`o`false`; los números `1` o`0`; o las cadenas`true`,,`yes`,`on`,`1`, `false` `no``off`, `0` en mayúsculas y minúsculas. Sin restricciones. Control:`CHECK_BOX`.

`RANGE_EXPR`(requiere`EXPR`)  
Una expresión de rango de enteros como `"1-100"``"1-100:10"`, o`"1,3,5-9"`. Restricciones:`minLength`,`maxLength`. Control:`LINE_EDIT`.

`LIST[STRING]`(requiere`EXPR`)  
Una lista de cadenas. Restricciones: `minLength` y `maxLength` para la lista; `item.allowedValues``item.minLength`, y `item.maxLength` para cada elemento. Control:`LINE_EDIT_LIST`.

`LIST[PATH]`(requiere`EXPR`)  
Una lista de rutas. Las reglas de mapeo de rutas se aplican a cada valor. Restricciones: las restricciones de lista y elemento de`LIST[STRING]`, más `objectType` y`dataFlow`. Control: `CHOOSE_INPUT_FILE_LIST``CHOOSE_OUTPUT_FILE_LIST`, o`CHOOSE_DIRECTORY_LIST`, según `objectType` y`dataFlow`.

`LIST[INT]`, `LIST[FLOAT]` (requiere`EXPR`)  
Una lista de números. Restricciones: `minLength` y `maxLength` para la lista; `item.allowedValues``item.minValue`, y `item.maxValue` para cada elemento. Control:`SPIN_BOX_LIST`.

`LIST[BOOL]`(requiere`EXPR`)  
Una lista de valores booleanos, cada uno de los cuales acepta los mismos valores que. `BOOL` Restricciones:`minLength`,. `maxLength` Control:`CHECK_BOX_LIST`.

`LIST[LIST[INT]]`(requiere`EXPR`)  
Una lista de listas de enteros, para entradas estructuradas, como una lista de adyacencias. Restricciones: restricciones anidadas`item`. Control: `HIDDEN` no hay control visual para este tipo.

Todos los tipos también `HIDDEN` lo aceptan como control, lo que impide que el parámetro aparezca en el cuadro de diálogo de envío. `HIDDEN`Establézcalos para los valores que una canalización proporciona mediante programación.

Los `LIST[PATH]` tipos `PATH` y contienen dos campos adicionales. `objectType`es `FILE` o`DIRECTORY`, y `dataFlow` es `IN``OUT`,`INOUT`, o`NONE`. Los adjuntos de trabajo leen estos campos para decidir qué rutas cargar como entradas y cuáles observar en busca de salidas. Un `PATH` parámetro también admite `fileFilters` y `fileFilterDefault` para el cuadro de diálogo del archivo. Para obtener más información, consulte [Elementos de plantillas de trabajo para paquetes de trabajos](build-job-bundle-template.md).

Las siguientes definiciones muestran una casilla de verificación, un rango de fotogramas, una lista de nombres de cámaras y una lista de archivos de entrada. La plantilla se muestra `EXPR` porque los cuatro últimos tipos así lo requieren.

```
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: []
```

En una plantilla con la `EXPR` extensión, cada parámetro tiene un tipo de expresión coincidente: `int` `float``string`,`path`,`bool`,`range_expr`, o`list[{{T}}]`. Un parámetro `RANGE_EXPR` o un parámetro de lista puede ser directamente el parámetro `range` de una tarea, de modo que cada marco o elemento se convierte en una tarea. Para `PATH` y`LIST[PATH]`, `RawParam.{{Name}}` es el valor tal como se envió, en forma de cadena, antes del mapeo de rutas.

```
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 }}"
```

Los dos últimos argumentos son expresiones. Un `null` resultado no agrega ningún argumento y un resultado de lista agrega cada elemento como un argumento independiente. Para obtener más información, consulte [Expresiones en las plantillas de trabajo](build-job-bundle-expressions.md).

Para enviar un paquete de trabajos que utilice los tipos de `EXPR` parámetros, la CLI de Deadline Cloud y el cuadro de diálogo de envío `deadline bundle gui-submit` y el monitor de Deadline Cloud deben ser una versión que admita la extensión. Los clientes más antiguos rechazan las plantillas con estos tipos.