

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.

# Añadir contenedores privados o de terceros durante la creación del flujo de trabajo
<a name="containers-workflow-creation"></a>

Al crear un nuevo flujo de trabajo, puedes definir las asignaciones de registro e imágenes que requiere tu flujo de trabajo. Para obtener más información, consulte [Crear un flujo de trabajo privado](create-private-workflow.md). También puedes actualizar las asignaciones del registro y de las imágenes al crear una nueva versión del flujo de trabajo. Para obtener más información, consulte [Crear una versión de flujo de trabajo](workflows-version-create.md).

En las siguientes secciones se describen las asignaciones de registro y las asignaciones de imágenes.

## Mapeos de registro
<a name="ecr-pull-through-registry-mapping"></a>

Las asignaciones de registro se definen para que coincidan entre los prefijos de su registro privado de Amazon ECR y los nombres de los registros ascendentes. Un mapa de registro puede contener tanto mapeos de caché extraídos como mapeos para registros que HealthOmics copias de.

El siguiente ejemplo mapea Docker Hub, Quay y Amazon ECR Public a través de una caché de extracción, y asigna Seqera Containers (`community.wave.seqera.io`) con una credencial para que HealthOmics copia sus imágenes.

```
{
    "registryMappings": [
        {
            "upstreamRegistryUrl": "registry-1.docker.io",
            "ecrRepositoryPrefix": "docker-hub"
        },
        {
            "upstreamRegistryUrl": "quay.io",
            "ecrRepositoryPrefix": "quay"
        },
        {
            "upstreamRegistryUrl": "public.ecr.aws",
            "ecrRepositoryPrefix": "ecr-public"
        },
        {
            "upstreamRegistryUrl": "community.wave.seqera.io",
            "ecrRepositoryPrefix": "wave-seqera",
            "credentialArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:omics-registry/seqera-EXAMPLE"
        }
    ]
}
```

Las siguientes reglas se aplican a las asignaciones de registro:
+ `upstreamRegistryUrl` debe coincidir exactamente con el host de registro al principio de la URI de la imagen. Por ejemplo, un mapeo para `wave.seqera.io` no cubre las imágenes de `community.wave.seqera.io`.
+ Todos los hosts de registro anteriores a los que hace referencia el flujo de trabajo necesitan una asignación. Las imágenes a las que haga referencia mediante su URI privada de Amazon ECR no la necesitan.
+ Las asignaciones de caché extraídas no se utilizan `credentialArn`. Si agregas `credentialArn` a un mapeo de caché detallado, HealthOmics lo ignora.
+ Mapeos para registros que HealthOmics las copias de deben incluir `credentialArn`. Si uno de estos mapeos no tiene `credentialArn`, el flujo de trabajo falla y se produce un error que asigna un nombre al registro.
+ Mantenga `upstreamRepositoryPrefix` Puesta de sol para Wave (`wave.seqera.io`).

`CreateWorkflow` y `CreateWorkflowVersion` son asincrónicos. Si el estado es `FAILED`, el error aparece en `statusMessage` en el `GetWorkflow` respuesta para un flujo de trabajo, o el `GetWorkflowVersion` respuesta para una versión de flujo de trabajo.

Proporcione el mapa en línea con `containerRegistryMap`, o como URI de Amazon S3 con `containerRegistryMapUri`, no ambos. Para ver ejemplos de CLI, consulte [Configure los parámetros de mapeo de la caché de extracción](create-private-workflow.md#create-prefix-mapping-parameters) y [Configure los parámetros de mapeo de la caché que no son de extracción](create-private-workflow.md#create-non-ptc-mapping-parameters).

La ejecución usa el mapa de registro del flujo de trabajo o la versión del flujo de trabajo que ejecutas, por lo que no agregas nada a `StartRun`.

## Mapeos de imágenes
<a name="ecr-pull-through-mapping-format"></a>

Las asignaciones de imágenes se definen para que coincidan entre los nombres de las imágenes tal como están definidos en los flujos de trabajo privados de Amazon ECR y los nombres de las imágenes del registro anterior.

Puede utilizar las asignaciones de imágenes con los registros que Amazon ECR admite mediante la caché, como Quay, y con los registros que no admite la extracción a través de la caché, como Seqera. HealthOmics no copia imágenes para mapearlas, por lo que tú mismo mantienes tu repositorio privado sincronizado con el registro anterior.

**nota**  
Un mapeo de imágenes tiene prioridad sobre los mapeos de registro.

El siguiente ejemplo muestra las asignaciones de imágenes privadas de Amazon ECR a una imagen genómica pública y a la última imagen de Ubuntu.

```
{
    "imageMappings": [
        {
            "sourceImage": "public.ecr.aws/aws-genomics/broadinstitute/gatk:4.6.0.2",
            "destinationImage": "111122223333.dkr.ecr.us-east-1.amazonaws.com/broadinstitute/gatk:4.6.0.2"
        },
        {
            "sourceImage": "ubuntu:latest",
            "destinationImage": "111122223333.dkr.ecr.us-east-1.amazonaws.com/custom/ubuntu:latest"
        }
    ]
}
```

Para obtener más información sobre el uso de mapeos de registro e imágenes al crear un flujo de trabajo, consulte [Configure los parámetros de mapeo de la caché de extracción](create-private-workflow.md#create-prefix-mapping-parameters).