

Amazon ya no CodeCatalyst está abierto a nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cómo migrar desde CodeCatalyst](migration.md).

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.

# Modificación de una definición de tarea de Amazon ECS
<a name="render-ecs-action"></a>

En esta sección se describe cómo actualizar el `image` campo en un archivo de [definición de tareas de Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html#welcome-task-definitions) mediante CodeCatalyst un flujo de trabajo. Para ello, debe añadir la acción **Render Amazon ECS task definition** a su flujo de trabajo. Esta acción actualiza el campo image del archivo de definición de tareas con un nombre de imagen de Docker que proporciona el flujo de trabajo en tiempo de ejecución.

**nota**  
También puede utilizar esta acción para actualizar el campo `environment` de la definición de tarea con variables de entorno.

**Topics**
+ [Cuándo usar esta acción](#render-ecs-action-when-to-use)
+ [Funcionamiento de la acción Render Amazon ECS task definition](#render-ecs-action-how-it-works)
+ [Imagen en tiempo de ejecución utilizada por la acción Render Amazon ECS task definition](#render-ecs-action-runtime)
+ [Ejemplo: Modificación de una taskdef de Amazon ECS](render-ecs-action-example-workflow.md)
+ [Cómo añadir la acción Render Amazon ECS task definition](render-ecs-action-add.md)
+ [Visualización del archivo de definición de tareas actualizado](render-ecs-action-view.md)
+ [Variables de Render Amazon ECS task definition](render-ecs-action-variables.md)
+ [Acción Render Amazon ECS task definition en YAML](render-ecs-action-ref.md)

## Cuándo usar esta acción
<a name="render-ecs-action-when-to-use"></a>

Utilice esta acción si tiene un flujo de trabajo que compile y etiquete una imagen de Docker con contenido dinámico, como un ID de confirmación o una marca de tiempo. 

No utilice esta acción si el archivo de definición de tareas contiene un valor de imagen que siempre sea el mismo. En este caso, puede introducir manualmente el nombre de la imagen en el archivo de definición de tareas.

## Funcionamiento de la acción Render Amazon ECS task definition
<a name="render-ecs-action-how-it-works"></a>

Debe utilizar la acción **Render Amazon ECS task definition** con las acciones **build** y **Deploy to Amazon ECS** de su flujo de trabajo. Juntas, estas acciones funcionan de la siguiente manera:

1. La acción **build** crea la imagen de Docker y la etiqueta con un nombre, un identificador de confirmación, una marca de tiempo u otro contenido dinámico. Por ejemplo, la acción de compilación podría tener el siguiente aspecto:

   ```
   MyECSWorkflow
     Actions:
       BuildAction:
         Identifier: aws/build@v1
         ...
         Configuration:
           Steps:
           # Build, tag, and push the Docker image...
             - Run: docker build -t MyDockerImage:${WorkflowSource.CommitId} .
             ...
   ```

   En el código anterior, la directiva `docker build -t` indica que se debe crear la imagen de Docker y etiquetarla con el ID de confirmación en el tiempo de ejecución de la acción. El nombre de la imagen generada podría tener este aspecto:

   `MyDockerImage:a37bd7e`

1. La acción **Render Amazon ECS task definition** añade el nombre de la imagen generada dinámicamente, `MyDockerImage:a37bd7e`, al archivo de definición de tareas, de la siguiente manera:

   ```
   {
       "executionRoleArn": "arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role",
       "containerDefinitions": [
           {
               "name": "codecatalyst-ecs-container",
               "image":  MyDockerImage:a37bd7e, 
               "essential": true,
               ...
               "portMappings": [
                   {
                       "hostPort": 80,
                       "protocol": "tcp",
                       "containerPort": 80
                   }
               ]
           }
       ],
   ...
   }
   ```

   Opcionalmente, también puede hacer que la acción **Render Amazon ECS task definition** agregue variables de entorno a la definición de la tarea, de la siguiente manera:

   ```
   {
     "executionRoleArn": "arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role",
     "containerDefinitions": [
       {
         "name": "codecatalyst-ecs-container",
         "image":  MyDockerImage:a37bd7e,
         ...
         "environment": [
           {
             name": "ECS_LOGLEVEL",
             value": "info"
           }
         ]
       }
     ],
   ...
   }
   ```

   Para obtener más información sobre las variables de entorno, consulte [Especificación de variables de entorno](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) en la *Guía para desarrolladores de Amazon Elastic Container Service*.

1. La acción **Deploy to Amazon ECS** registra el archivo de definición de tareas actualizado en Amazon ECS. Al registrar el archivo de definición de tareas actualizado, se implementa la nueva imagen, `MyDockerImage:a37bd7e`, en Amazon ECS.

## Imagen en tiempo de ejecución utilizada por la acción Render Amazon ECS task definition
<a name="render-ecs-action-runtime"></a>

La acción **Render Amazon ECS task definition** se ejecuta en una [imagen de noviembre de 2022](build-images.md#build.previous-image). Para obtener más información, consulte [Imágenes activas](build-images.md#build-curated-images).

# Ejemplo: Modificación de una taskdef de Amazon ECS
<a name="render-ecs-action-example-workflow"></a>

A continuación figura un ejemplo de un flujo de trabajo completo que incluye la acción **Render Amazon ECS task definition**, junto con las acciones de compilación e implementación. El objetivo del flujo de trabajo es crear e implementar una imagen de Docker en su clúster de Amazon ECS. El flujo de trabajo consta de los siguientes componentes que se ejecutarán en orden:
+ Un **desencadenador**: este desencadenador inicia la ejecución automática del flujo de trabajo cuando se introduce un cambio en el repositorio de código fuente. Para obtener más información acerca de los desencadenadores, consulte [Inicio de un flujo de trabajo y ejecución automática mediante desencadenadores](workflows-add-trigger.md). 
+ Una acción de **compilación** (`BuildDocker`): al activarse, la acción crea la imagen de Docker mediante el Dockerfile, la etiqueta con un ID de confirmación y envía la imagen a Amazon ECR. Para obtener más información sobre la acción de compilación, consulte [Compilación con flujos de trabajo](build-workflow-actions.md).
+ Una acción **Render Amazon ECS task definition** (`RenderTaskDef`): al finalizar la acción de compilación, esta acción actualiza una `taskdef.json` existente ubicada en la raíz del repositorio de código fuente con un valor del campo `image` que incluye el ID de confirmación correcto. Guarda el archivo actualizado con un nombre de archivo nuevo (`task-definition-random-string.json`) y crea un artefacto de salida que contiene este archivo. La acción de renderizado también genera una variable llamada `task-definition` y la establece con el nombre del nuevo archivo de definición de tareas. El artefacto y la variable se utilizarán en la acción de implementación, que es la siguiente.
+ Una acción **Deploy to Amazon ECS** (`DeployToECS`): al completar la acción **Render Amazon ECS task definition**, la acción **Deploy to Amazon ECS** busca el artefacto de salida generado por la acción de renderizado (`TaskDefArtifact`), encuentra el archivo `task-definition-random-string.json` que contiene y lo registra en el servicio de Amazon ECS. A continuación, el servicio de Amazon ECS sigue las instrucciones del archivo `task-definition-random-string.json` para ejecutar las tareas de Amazon ECS (y los contenedores de imágenes de Docker asociados) dentro del clúster de Amazon ECS. 

```
Name: codecatalyst-ecs-workflow
SchemaVersion: 1.0

Triggers:
  - Type: PUSH
    Branches:
      - main
Actions:
  BuildDocker:
    Identifier: aws/build@v1
    Environment:
      Name: codecatalyst-ecs-environment
      Connections:
        - Name: codecatalyst-account-connection
          Role: codecatalyst-ecs-build-role
    Inputs:
      Variables:
        - Name: REPOSITORY_URI
          Value: 111122223333.dkr.ecr.us-east-2.amazonaws.com/codecatalyst-ecs-image-repo
        - Name: IMAGE_TAG
          Value: ${WorkflowSource.CommitId}
    Configuration:
      Steps:
        #pre_build:
        - Run: echo Logging in to Amazon ECR...
        - Run: aws --version
        - Run: aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin 111122223333.dkr.ecr.us-east-2.amazonaws.com
        #build:
        - Run: echo Build started on `date`
        - Run: echo Building the Docker image...
        - Run: docker build -t $REPOSITORY_URI:latest .
        - Run: docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG
        #post_build:
        - Run: echo Build completed on `date`
        - Run: echo Pushing the Docker images...
        - Run: docker push $REPOSITORY_URI:latest
        - Run: docker push $REPOSITORY_URI:$IMAGE_TAG
        
  RenderTaskDef:
    DependsOn: 
      - BuildDocker
    Identifier: aws/ecs-render-task-definition@v1
    Inputs:
      Variables:
        - Name: REPOSITORY_URI
          Value: 111122223333.dkr.ecr.us-east-2.amazonaws.com/codecatalyst-ecs-image-repo
        - Name: IMAGE_TAG
          Value: ${WorkflowSource.CommitId}
    Configuration:      
      task-definition: taskdef.json
      container-definition-name: codecatalyst-ecs-container
      image: $REPOSITORY_URI:$IMAGE_TAG 
    # The output artifact contains the updated task definition file. 
    # The new file is prefixed with 'task-definition'.
    # The output variable is set to the name of the updated task definition file. 
    Outputs:
      Artifacts:
        - Name: TaskDefArtifact
          Files: 
            - "task-definition*"
      Variables:
        - task-definition
        
  DeployToECS:
    Identifier: aws/ecs-deploy@v1
    Environment:
      Name: codecatalyst-ecs-environment
      Connections:
        - Name: codecatalyst-account-connection
          Role: codecatalyst-ecs-deploy-role
    #Input artifact contains the updated task definition file.
    Inputs:
      Sources: []
      Artifacts:
        - TaskDefArtifact
    Configuration:
      region: us-east-2
      cluster: codecatalyst-ecs-cluster
      service: codecatalyst-ecs-service
      task-definition: ${RenderTaskDef.task-definition}
```

# Cómo añadir la acción Render Amazon ECS task definition
<a name="render-ecs-action-add"></a>

 Siga estas instrucciones para añadir la acción **Render Amazon ECS task definition** a su flujo de trabajo. 

**Requisito previo**  
Antes de empezar, asegúrese de que dispone de un flujo de trabajo que incluya una acción de compilación de que genere de forma dinámica una imagen de Docker. Consulte el [ejemplo de flujo de trabajo](render-ecs-action-example-workflow.md) anterior para obtener más información.

------
#### [ Visual ]

**Cómo añadir la acción Render Amazon ECS task definition con el editor visual**

1. [Abra la CodeCatalyst consola en https://codecatalyst.aws/.](https://codecatalyst.aws/)

1. Elija el proyecto.

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Elija **Edit (Edición de)**.

1. Elija **Visual**.

1. En la parte superior izquierda, seleccione **\$1 Acciones** para abrir el catálogo de acciones.

1. En la lista desplegable, selecciona **Amazon CodeCatalyst**.

1. Busque la acción **Render Amazon ECS task definition** y realice una de las siguientes acciones:
   + Elija el signo más (**\$1**) para añadir la acción al diagrama de flujo de trabajo y abrir su panel de configuración.

     O
   + Elija **Render Amazon ECS task definition**. Aparecerá el cuadro de diálogo de detalles de la acción. En este cuadro de diálogo:
     + (Opcional) Seleccione **Ver código fuente** para [ver el código fuente de la acción](workflows-view-source.md#workflows-view-source.title).
     + Seleccione **Añadir al flujo de trabajo** para añadir la acción al diagrama de flujo de trabajo y abrir su panel de configuración.

1. En las pestañas **Entradas** y **Configuración**, complete los campos según sus necesidades. Para obtener una descripción de cada uno de los campos, consulte la [Acción Render Amazon ECS task definition en YAML](render-ecs-action-ref.md). Esta referencia proporciona información detallada sobre cada campo (y el valor de la propiedad de YAML correspondiente) tal como aparece en el editor visual y el de YAML.

1. (Opcional) Seleccione **Validar** para validar el código de YAML del flujo de trabajo antes de confirmarlo.

1. Seleccione **Confirmar**, introduzca un mensaje de confirmación y vuelva a seleccionar **Confirmar**.

------
#### [ YAML ]

**Cómo añadir la acción Render Amazon ECS task definition con el editor de YAML**

1. Abre la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Elija el proyecto.

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Elija **Edit (Edición de)**.

1. Elija **YAML**.

1. En la parte superior izquierda, seleccione **\$1 Acciones** para abrir el catálogo de acciones.

1. En la lista desplegable, selecciona **Amazon CodeCatalyst**.

1. Busque la acción **Render Amazon ECS task definition** y realice una de las siguientes acciones:
   + Elija el signo más (**\$1**) para añadir la acción al diagrama de flujo de trabajo y abrir su panel de configuración.

     O
   + Elija **Render Amazon ECS task definition**. Aparecerá el cuadro de diálogo de detalles de la acción. En este cuadro de diálogo:
     + (Opcional) Seleccione **Ver código fuente** para [ver el código fuente de la acción](workflows-view-source.md#workflows-view-source.title).
     + Seleccione **Añadir al flujo de trabajo** para añadir la acción al diagrama de flujo de trabajo y abrir su panel de configuración.

1. Modifique las propiedades del código de YAML en función de sus necesidades. Encontrará una explicación de todas las propiedades disponibles en la [Acción Render Amazon ECS task definition en YAML](render-ecs-action-ref.md).

1. (Opcional) Seleccione **Validar** para validar el código de YAML del flujo de trabajo antes de confirmarlo.

1. Seleccione **Confirmar**, introduzca un mensaje de confirmación y vuelva a seleccionar **Confirmar**.

------

**Siguientes pasos**

Tras añadir la acción de renderizado, añada la acción **Deploy to Amazon ECS** a su flujo de trabajo siguiendo las instrucciones que se indican en [Implementación en Amazon ECS con un flujo de trabajo](deploy-action-ecs.md). Al agregar la acción de implementación, haga lo siguiente:

1. En la pestaña **Entradas** de la acción de implementación, en **Artefactos - opcional**, seleccione el artefacto que se generó mediante la acción de renderizado. Contiene el archivo de definición de tarea actualizado.

   Para obtener más información acerca de los artefactos, consulte [Cómo compartir artefactos y archivos entre acciones](workflows-working-artifacts.md).

1. En la pestaña **Configuración** de la acción de despliegue, en el campo **Definición de la tarea**, especifique la siguiente variable de acción: `${action-name.task-definition}` dónde *action-name* está el nombre de la acción de renderización, por ejemplo`RenderTaskDef`. La acción de renderizado establece esta variable como el nuevo nombre del archivo de definición de tareas.

   Para obtener más información acerca de las variables, consulte [Uso de variables en flujos de trabajo](workflows-working-with-variables.md).

   Para obtener más información acerca de cómo configurar la acción de implementación, consulte el [flujo de trabajo de ejemplo](render-ecs-action-example-workflow.md) anterior.

# Visualización del archivo de definición de tareas actualizado
<a name="render-ecs-action-view"></a>

Puede ver el nombre y el contenido del archivo de definición de tareas actualizado.

**Visualización del nombre del archivo de definición de tareas actualizado después de que la acción **Render Amazon ECS task definition** lo haya procesado.**

1. Busque la ejecución que incluya una acción de renderización completada:

   1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

   1. Elija el proyecto.

   1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

   1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

   1. Elija una ejecución que incluya la acción de renderización completada.

1. En el diagrama del flujo de trabajo, elija la acción de renderización.

1. Seleccione **Salidas**.

1. Seleccione **Variables**.

1. Aparece el nombre del archivo de definición de tareas. Será similar a este: `task-definition--259-0a2r7gxlTF5X-.json`.

**Visualización del contenido del archivo de definición de tareas actualizado**

1. Busque la ejecución que incluya una acción de renderización completada:

   1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

   1. Elija el proyecto.

   1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**.

   1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

   1. Elija una ejecución que incluya la acción de renderización completada.

1. En la ejecución del flujo de trabajo, en la parte superior, junto a **Visual** y **YAML**, seleccione **Salidas del flujo de trabajo**.

1. En la sección **Artefactos**, seleccione **Descargar** junto al artefacto que contiene el archivo de definición de tareas actualizado. Este artefacto tendrá en la columna **Producido por** el valor del nombre de su acción de renderización.

1. Abra el archivo.zip para ver el archivo .json de definición de tareas.

# Variables de Render Amazon ECS task definition
<a name="render-ecs-action-variables"></a>

La acción **Render Amazon ECS task definition** produce y establece las siguientes variables en tiempo de ejecución. Se conocen como *variables predefinidas*.

Para obtener información sobre cómo hacer referencia a estas variables en un flujo de trabajo, consulte [Uso de variables predefinidas](workflows-using-predefined-variables.md).


| Clave | Valor | 
| --- | --- | 
|  task-definition  |  Nombre dado al archivo de definición de tareas que se actualizó mediante la acción **Render Amazon ECS task definition**. El nombre sigue este formato: `task-definition-random-string.json`. Ejemplo: `task-definition--259-0a2r7gxlTF5Xr.json`  | 

# Acción Render Amazon ECS task definition en YAML
<a name="render-ecs-action-ref"></a>

A continuación figura la definición en YAML de la acción **Render Amazon ECS task definition**. Para obtener información sobre cómo utilizar esta acción, consulte [Modificación de una definición de tarea de Amazon ECS](render-ecs-action.md).

Esta definición de acción existe como una sección dentro de un archivo de definición de flujo de trabajo más amplio. Para obtener más información acerca de este archivo, consulte [Definición de flujo de trabajo en YAML](workflow-reference.md).

**nota**  
La mayoría de las propiedades de YAML que se muestran a continuación tienen elementos de interfaz de usuario correspondientes en el editor visual. Para buscar un elemento de la interfaz de usuario, use **Ctrl\$1F**. El elemento aparecerá en la lista con su propiedad de YAML asociada.

```
# The workflow definition starts here.
# See Propiedades de nivel superior for details.
        
Name: MyWorkflow
SchemaVersion: 1.0 
Actions:

# The action definition starts here.   
  ECSRenderTaskDefinition\$1nn: 
    Identifier: aws/ecs-render-task-definition@v1
    DependsOn:
      - build-action
    Compute:  
      Type: EC2 | Lambda
      Fleet: fleet-name
    Timeout: timeout-minutes
    Inputs:
      # Specify a source or an artifact, but not both.
      Sources:
        - source-name-1
      Artifacts:
        - task-definition-artifact
      Variables:
        - Name: variable-name-1
          Value: variable-value-1
        - Name: variable-name-2
          Value: variable-value-2
    Configuration 
      task-definition: task-definition-path
      container-definition-name: container-definition-name
      image: docker-image-name
      environment-variables:
        - variable-name-1=variable-value-1
        - variable-name-2=variable-value-2
    Outputs:
      Artifacts:
        - Name: TaskDefArtifact
          Files: "task-definition*"
      Variables:
        - task-definition
```

## ECSRenderTaskDefinition
<a name="render.ecs.name"></a>

(Obligatorio) 

Especifique el nombre de la acción. Todos los nombres de las acciones deben ser únicos dentro del flujo de trabajo. Los nombres de las acciones están limitados a caracteres alfanuméricos (a-z, A-Z y 0-9), guiones (-) y guiones bajos (\$1). No se permiten espacios. No puede utilizar comillas para permitir caracteres especiales ni espacios en los nombres de las acciones.

Predeterminado: `ECSRenderTaskDefinition_nn`.

Interfaz de usuario correspondiente: pestaña Configuración/**Nombre de la acción**

## Identifier
<a name="render.ecs.identifier"></a>

(*ECSRenderTaskDefinition*/**Identifier**)

(Obligatorio) 

Identifica la acción. No cambie esta propiedad a menos que desee cambiar la versión. Para obtener más información, consulte [Especificación de la versión de la acción que se va a utilizar](workflows-action-versions.md).

Predeterminado: `aws/ecs-render-task-definition@v1`.

**Interfaz de usuario correspondiente: diagrama ECSRenderTaskDefinition de flujo de trabajo/ \$1nn/ aws/ @v1 label ecs-render-task-definition**

## DependsOn
<a name="render.ecs.dependson"></a>

(*ECSRenderTaskDefinition*/**DependsOn**)

(Opcional)

Especifique la acción, el grupo de acciones o la puerta que debe ejecutarse correctamente para que esta acción se ejecute.

Para obtener más información sobre la funcionalidad “depende de”, consulte [Secuenciación de acciones](workflows-depends-on.md).

Interfaz de usuario correspondiente: pestaña Entradas/**Depende de (opcional)**

## Compute
<a name="render.ecs.computename"></a>

(*ECSRenderTaskDefinition*/**Compute**)

(Opcional)

El motor de computación utilizado para ejecutar las acciones del flujo de trabajo. Puede especificar el motor de computación en el nivel del flujo de trabajo o en el nivel de acción, pero no en ambos. Cuando se especifica en el nivel de flujo de trabajo, la configuración del motor de computación se aplica a todas las acciones definidas en el flujo de trabajo. En el nivel de flujo de trabajo, también puede ejecutar varias acciones en la misma instancia. Para obtener más información, consulte [Uso compartido de recursos de computación entre acciones](compute-sharing.md).

Interfaz de usuario correspondiente: *ninguna*

## Type
<a name="render.ecs.computetype"></a>

(*ECSRenderTaskDefinition*/Compute/**Type**)

(Obligatorio si se incluye [Compute](#render.ecs.computename))

El tipo de motor de computación. Puede utilizar uno de los siguientes valores:
+ **EC2**(editor visual) o (editor YAML) `EC2`

  Optimizado para ofrecer flexibilidad durante las ejecuciones de acciones.
+ **Lambda** (editor visual) o `Lambda` (editor de YAML)

  Velocidades de inicio de acciones optimizadas.

Para obtener más información sobre los tipos de computación, consulte [Tipos de computación](workflows-working-compute.md#compute.types).

Interfaz de usuario correspondiente: pestaña Configuración/**Tipo de computación**

## Fleet
<a name="render.ecs.computefleet"></a>

(*ECSRenderTaskDefinition*/Compute/**Fleet**)

(Opcional)

Especifique la máquina o la flota que ejecutará el flujo de trabajo o las acciones del flujo de trabajo. Con las flotas bajo demanda, cuando se inicia una acción, el flujo de trabajo aprovisiona los recursos que necesita y las máquinas se destruyen cuando finaliza la acción. Ejemplos de flotas bajo demanda: `Linux.x86-64.Large`, `Linux.x86-64.XLarge`. Para obtener más información sobre las flotas bajo demanda, consulte [Propiedades de las flotas bajo demanda](workflows-working-compute.md#compute.on-demand).

Con las flotas aprovisionadas, configura un conjunto de máquinas dedicadas para ejecutar las acciones del flujo de trabajo. Estas máquinas permanecen inactivas, listas para procesar acciones de forma inmediata. Para obtener más información sobre las flotas aprovisionadas, consulte [Propiedades de flotas aprovisionadas](workflows-working-compute.md#compute.provisioned-fleets).

Si `Fleet` se omite, el valor predeterminado es `Linux.x86-64.Large`.

Interfaz de usuario correspondiente: pestaña Configuración/**Flota de computación**

## Timeout
<a name="render.ecs.timeout"></a>

(*ECSRenderTaskDefinition*/**Timeout**)

(Opcional)

Especifique la cantidad de tiempo en minutos (editor YAML) o en horas y minutos (editor visual) que la acción puede ejecutarse antes de que CodeCatalyst finalice la acción. El mínimo es 5 minutos y el máximo se describe en [Cuotas para flujos de trabajo en CodeCatalyst](workflows-quotas.md). El tiempo de espera predeterminado es el mismo que el tiempo de espera máximo.

Interfaz de usuario correspondiente: pestaña Configuración/**Tiempo de espera (opcional)**

## Inputs
<a name="render.ecs.inputs"></a>

(*ECSRenderTaskDefinition*/**Inputs**)

(Opcional)

La sección `Inputs` define los datos que necesita la acción `ECSRenderTaskDefinition` durante la ejecución de un flujo de trabajo.

**nota**  
Solo se permite una entrada (ya sea un código fuente o un artefacto) para cada acción **Render Amazon ECS task definition**. Las variables no se contabilizan en este total.

Interfaz de usuario correspondiente: pestaña **Entradas**

## Sources
<a name="render.ecs.inputs.sources"></a>

(*ECSRenderTaskDefinition*/Inputs/**Sources**)

(Obligatorio si el archivo de definición de la tarea está almacenado en un repositorio de código fuente)

Si el archivo de definición de la tarea está almacenado en un repositorio de código fuente, especifique la etiqueta de dicho repositorio. Actualmente, la única etiqueta admitida es `WorkflowSource`.

Si el archivo de definición de la tarea no está incluido en un repositorio de código fuente, debe residir en un artefacto generado por otra acción.

Para obtener más información sobre orígenes, consulte [Conexión de repositorios de código fuente a flujos de trabajo](workflows-sources.md).

Interfaz de usuario correspondiente: pestaña Entradas/**Orígenes (opcional)**

## Artifacts - input
<a name="render.ecs.inputs.artifacts"></a>

(*ECSRenderTaskDefinition*/Inputs/**Artifacts**)

(Obligatorio si el archivo de definición de la tarea está almacenado en un [artefacto de salida](workflows-working-artifacts-output.md) de una acción anterior)

Si el archivo de definición de la tarea que desea implementar está incluido en un artefacto generado por una acción anterior, especifique ese artefacto aquí. Si el archivo de definición de la tarea no está incluido en un artefacto, debe residir en el repositorio de código fuente.

Para obtener más información sobre los artefactos, incluidos ejemplos, consulte [Cómo compartir artefactos y archivos entre acciones](workflows-working-artifacts.md).

Interfaz de usuario correspondiente: pestaña Configuración/**Artefactos (opcional)**

## Variables - input
<a name="render.ecs.inputs.variables"></a>

(*ECSRenderTaskDefinition*/Inputs/**Variables**)

(Obligatorio)

Especifique una secuencia de name/value pares que defina las variables de entrada que desea que estén disponibles para la acción. Los nombres de variables están limitados a caracteres alfanuméricos (a-z, A-Z y 0-9), guiones (-) y guiones bajos (\$1). No se permiten espacios. No puede utilizar comillas para permitir caracteres especiales ni espacios en los nombres de variables.

Para obtener más información sobre las variables, incluidos ejemplos, consulte [Uso de variables en flujos de trabajo](workflows-working-with-variables.md).

Interfaz de usuario correspondiente: pestaña Entradas/**Variables (opcional)**

## Configuration
<a name="render.ecs.configuration"></a>

(*ECSRenderTaskDefinition*/**Configuration**)

(Obligatorio) 

Una sección en la que puede definir las propiedades de configuración de la acción.

Interfaz de usuario correspondiente: pestaña **Configuración**

## task-definition
<a name="render.ecs.task.definition"></a>

(*ECSRenderTaskDefinition*/Configuration/**task-definition**)

(Obligatorio) 

Especifique la ruta a un archivo de definición de la tarea existente. Si el archivo reside en el repositorio de código fuente, la ruta es relativa a la carpeta raíz del repositorio de código fuente. Si el archivo reside en un artefacto de una acción del flujo de trabajo anterior, la ruta es relativa a la carpeta raíz del artefacto. Para obtener más información sobre los archivos de definición de tareas, consulte [Task definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html#welcome-task-definitions) en la *Guía para desarrolladores de Amazon Elastic Container Service*.

Interfaz de usuario correspondiente: pestaña Configuración/**Definición de tarea**

## container-definition-name
<a name="render.ecs.container.name"></a>

(*ECSRenderTaskDefinition*/Configuration/**container-definition-name**)

(Obligatorio) 

Especifique el nombre del contenedor en el que se ejecutará la imagen de Docker. Puede encontrar este nombre en las `containerDefinitions`, en el campo `name` del archivo de definición de tareas. Para obtener más información, consulte [Nombre](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_name) en la *Guía para desarrolladores de Amazon Elastic Container Service*.

Interfaz de usuario correspondiente: pestaña Configuración/**Nombre de contenedor**

## image
<a name="render.ecs.image"></a>

(*ECSRenderTaskDefinition*/Configuration/**image**)

(Obligatorio) 

Especifique el nombre de la imagen de Docker que quiera que se agregue al archivo de definición de tareas con la acción **Render Amazon ECS task definition**. La acción añade este nombre a las `containerDefinitions`, al campo `image`, en el archivo de definición de tareas. Si ya existe un valor en el campo `image`, la acción lo sobrescribe. Puede incluir variables en el nombre de la imagen.

Ejemplos:

Si lo especificas`MyDockerImage:${WorkflowSource.CommitId}`, la acción se agrega `MyDockerImage:commit-id` al archivo de definición de tareas, donde *commit-id* se encuentra un ID de confirmación generado en tiempo de ejecución por el flujo de trabajo.

Si lo especificas`my-ecr-repo/image-repo:$(date +%m-%d-%y-%H-%m-%s)`, la acción añade *my-ecr-repo* /image-repo: *date \$1%m-%d-%y-%H-%m-%s* al archivo de definición de tareas, donde *my-ecr-repo* es el URI de un Amazon Elastic Container Registry (ECR) y *date \$1%m-%d-%y-%H-%m-%s* es una marca de tiempo en el formato `month-day-year-hour-minute-second` generado en tiempo de ejecución por el flujo de trabajo.

Para obtener más información sobre el campo `image`, consulte [Imagen](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_image) en la *Guía para desarrolladores de Amazon Elastic Container Service*. Para obtener más información acerca de las variables, consulte [Uso de variables en flujos de trabajo](workflows-working-with-variables.md).

Interfaz de usuario correspondiente: pestaña Configuración/**Nombre de imagen**

## environment-variables
<a name="render.ecs.environment.variables"></a>

(*ECSRenderTaskDefinition*/Configuration/**environment-variables**)

(Obligatorio) 

Especifique las variables de entorno que quiera que se agreguen al archivo de definición de tareas con la acción **Render Amazon ECS task definition**. La acción añade las variables a las `containerDefinitions`, al campo `environment`, en el archivo de definición de tareas. Si las variables ya existen en el archivo, la acción sobrescribe los valores de las variables existentes y añade las variables nuevas. Para obtener más información sobre las variables de entorno de Amazon ECS, consulte [Especificación de variables de entorno](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) en la *Guía para desarrolladores de Amazon Elastic Container Service*.

Interfaz de usuario correspondiente: pestaña Configuración/**Variables de entorno - opcional**

## Outputs
<a name="render.ecs.outputs"></a>

(*ECSRenderTaskDefinition*/**Outputs**)

(Obligatorio) 

Define los datos que necesita una acción durante la ejecución de un flujo de trabajo.

Interfaz de usuario correspondiente: pestaña **Salidas**

## Artifacts
<a name="render.ecs.outputs.artifacts"></a>

(*ECSRenderTaskDefinition*/Outputs/**Artifacts**)

(Obligatorio) 

Especifique el nombre de los artefactos generados por la acción. Puede hacer referencia a estos artefactos como entrada en otras acciones.

Para obtener más información sobre los artefactos, incluidos ejemplos, consulte [Cómo compartir artefactos y archivos entre acciones](workflows-working-artifacts.md).

Interfaz de usuario correspondiente: pestaña Salidas/**Artefactos**

## Name
<a name="render.ecs.outputs.artifacts.name"></a>

(*ECSRenderTaskDefinition*/Outputs/Artifacts/**Name**)

(Obligatorio) 

Especifique el nombre del artefacto que contendrá el archivo de definición de tareas actualizado. El valor predeterminado es `MyTaskDefinitionArtifact`. A continuación, debe especificar este artefacto como entrada en la acción **Deploy to Amazon ECS**. Para saber cómo añadir este artefacto como entrada a la acción **Deploy to Amazon ECS**, consulte [Ejemplo: Modificación de una taskdef de Amazon ECS](render-ecs-action-example-workflow.md).

Interfaz de usuario correspondiente: pestaña Salidas/Artefactos/**Nombre**

## Files
<a name="render.ecs.outputs.artifacts.files"></a>

(*ECSRenderTaskDefinition*/Outputs/Artifacts/**Files**)

(Obligatorio) 

Especifique los archivos que desee incluir en el artefacto. Debe especificar `task-definition-*` para que se incluya el archivo de definición de tareas actualizado, que comienza con `task-definition-`.

Interfaz de usuario correspondiente: pestaña Salidas/Artefactos/**Archivos**

## Variables
<a name="render.ecs.outputs.variables"></a>

(*ECSRenderTaskDefinition*/Outputs/**Variables**)

(Obligatorio) 

Especifique el nombre de una variable que se establecerá mediante la acción de renderizado. La acción de renderizado establecerá el valor de esta variable en el nombre del archivo de definición de tareas actualizado (por ejemplo, `task-definition-random-string.json`). A continuación, debe especificar esta variable en la propiedad **Definición de tareas** (editor visual) o `task-definition` (editor yaml) de la acción **Implementar en Amazon ECS**. Para saber cómo agregar esta variable a la acción **Deploy to Amazon ECS**, consulte [Ejemplo: Modificación de una taskdef de Amazon ECS](render-ecs-action-example-workflow.md).

Valor predeterminado: `task-definition`

Interfaz de usuario correspondiente: pestaña Salidas/Variables/campo **Nombre**