

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.

# Control de versiones del flujo de trabajo en HealthOmics
<a name="workflow-versions"></a>

Si necesita realizar cambios en un flujo de trabajo, puede crear uno nuevo o una nueva versión del flujo de trabajo. Las versiones son inmutables, excepto en lo que respecta a los cambios de configuración permitidos que no afectan a la lógica de ejecución.

Las versiones de flujo de trabajo ofrecen las siguientes ventajas:
+ Las versiones forman un grupo lógico de flujos de trabajo relacionados. Puede añadir un nombre definido por el usuario a cada versión del flujo de trabajo para gestionarlas más fácilmente (especialmente en el caso de un flujo de trabajo con un gran número de versiones). 
+ Puede ejecutar varias versiones de un flujo de trabajo al mismo tiempo.
+ Todas las versiones de un flujo de trabajo comparten el mismo ID de flujo de trabajo y ARN base, lo que puede simplificar la administración de canalizaciones después de modificar un flujo de trabajo.
+ Las versiones de los flujos de trabajo proporcionan el mismo nivel de procedencia de los datos que los flujos de trabajo. Las versiones son inmutables y HealthOmics crean un ARN único para cada versión del flujo de trabajo. El ARN de la versión incluye el ID del flujo de trabajo y el nombre de la versión, como se muestra en el siguiente ejemplo:

  `arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/myUniqueVersionName`
+ Si tienes un flujo de trabajo compartido, puedes actualizarlo sin interrumpir a los suscriptores (que pueden seguir usando la versión anterior). Los suscriptores pueden acceder a todas las versiones del flujo de trabajo. Si creas una nueva versión, no necesitas volver a compartir el flujo de trabajo.
+ Al iniciar la ejecución de un flujo de trabajo, puede especificar la versión del flujo de trabajo.
  + Los usuarios pueden optar por permanecer en una versión estable durante las ejecuciones de producción y probar la última versión para una ejecución de prueba.
  + Los usuarios pueden volver a la versión anterior de un flujo de trabajo si tienen problemas con la nueva versión.
  + Los suscriptores de un flujo de trabajo compartido pueden elegir qué versión usar.

**Topics**
+ [Versión de flujo de trabajo predeterminada](workflows-default-version.md)
+ [Crear una versión de flujo de trabajo](workflows-version-create.md)
+ [Actualizar una versión del flujo de trabajo](workflows-version-update.md)
+ [Eliminar una versión del flujo de trabajo](workflows-version-delete.md)

# Versión de flujo de trabajo predeterminada
<a name="workflows-default-version"></a>

Después de crear una o más versiones de un flujo de trabajo, HealthOmics trata el flujo de trabajo original como la versión predeterminada. Al iniciar una ejecución, si lo desea, puede especificar una versión del flujo de trabajo para la ejecución. Si no especifica una versión al iniciar una ejecución, HealthOmics utiliza la versión predeterminada.

En la consola, HealthOmics indica el flujo de trabajo original con una etiqueta de **versión predeterminada**. La consola usa esta etiqueta solo después de crear una o más versiones del flujo de trabajo. El flujo de trabajo original siempre es la versión predeterminada. No puede asignar ninguna otra versión como predeterminada.

No puedes eliminar la versión predeterminada de un flujo de trabajo si hay otras versiones asociadas al flujo de trabajo. Para obtener más información, consulte [Eliminar un flujo de trabajo privado](delete-private-workflow.md).

# Crear una versión de flujo de trabajo
<a name="workflows-version-create"></a>

Al crear una nueva versión de un flujo de trabajo, debe especificar los valores de configuración de la nueva versión. No hereda ningún valor de configuración del flujo de trabajo.

Al crear la versión, proporcione un nombre de versión que sea exclusivo para este flujo de trabajo. No puede cambiar el nombre después de HealthOmics crear la versión. 

El nombre de la versión debe empezar por una letra o un número y puede incluir letras mayúsculas y minúsculas, números, guiones, puntos y guiones bajos. La longitud máxima es de 64 caracteres. Por ejemplo, puede usar un esquema de nomenclatura simple, como versión1, versión2 o versión3. También puede hacer coincidir las versiones de su flujo de trabajo con sus propias convenciones de control de versiones internas, como 2.7.0, 2.7.1 o 2.7.2.

Si lo desea, utilice el campo de descripción de la versión para añadir notas sobre esta versión. Por ejemplo: **Fix for syntax error in workflow definition**.

**nota**  
No incluyas ningún dato de identificación personal (PII) en el nombre de la versión. Los nombres de las versiones aparecen en el ARN de la versión del flujo de trabajo.

HealthOmics asigna un ARN único a la versión del flujo de trabajo. El ARN es único en función de la combinación del ID del flujo de trabajo y el nombre de la versión.

**aviso**  
Tras eliminar una versión del flujo de trabajo, HealthOmics permite reutilizar el nombre de la versión para otra versión del flujo de trabajo. La práctica recomendada es no volver a utilizar los nombres de las versiones. Si reutilizas un nombre, el flujo de trabajo y cada versión tienen un UUID único que puedes usar para determinar su procedencia. 

**Topics**
+ [Crea una versión del flujo de trabajo mediante la consola](#workflow-versions-console-create)
+ [Cree una versión de flujo de trabajo mediante la CLI](#workflow-versions-api-create)
+ [Cree una versión del flujo de trabajo mediante un SDK](#workflow-versions-sdk)
+ [Compruebe el estado de una versión de flujo de trabajo](#using-get-workflow)

## Crea una versión del flujo de trabajo mediante la consola
<a name="workflow-versions-console-create"></a>

**Pasos para crear una versión de flujo de trabajo**

1. Abra la [consola de HealthOmics ](https://console.aws.amazon.com/omics/).

1.  Si es necesario, abra el panel de navegación izquierdo (≡). Elija **Flujos de trabajo privados**.

1. En la página **Flujos de trabajo privados**, elija el flujo de trabajo para la nueva versión.

1. En la página **de detalles del flujo** de trabajo, selecciona **Crear nueva versión**.

1. En la página **Crear versión**, proporcione la siguiente información:

   1. **Nombre de la versión**: introduzca un nombre para la versión del flujo de trabajo que sea único en todo el flujo de trabajo. 

   1. **Descripción de la versión** (opcional): puede utilizar el campo de descripción para añadir notas sobre esta versión.

1. En el panel **de definición del flujo** de trabajo, proporciona la siguiente información:

   1. **Idioma del flujo** de trabajo (opcional): seleccione el idioma de especificación para la versión del flujo de trabajo. De lo contrario, HealthOmics determina el idioma a partir de la definición del flujo de trabajo.

   1. Para **la fuente de definición de flujo** de trabajo, elija importar la carpeta de definición desde un repositorio basado en Git, una ubicación de Amazon S3 o desde una unidad local.

      1. Para **importar desde un servicio de repositorio**:
**nota**  
HealthOmics admite repositorios públicos y privados paraGitHub,GitLab, BitbucketGitHub self-managed,GitLab self-managed.

         1. Elija una **conexión** para conectar sus AWS recursos al repositorio externo. Para crear una conexión, consulte[Conéctese con repositorios de código externos](setting-up-new.md#setting-up-omics-repository).
**nota**  
Los clientes de la TLV región deben crear una conexión en la región IAD (us-east-1) para crear un flujo de trabajo. 

         1. En ID de **repositorio completo, introduce tu ID** de repositorio como nombre de usuario/nombre de repositorio. Comprueba que tienes acceso a los archivos de este repositorio.

         1. En **Referencia de origen** (opcional), introduce una referencia de origen del repositorio (rama, etiqueta o ID de confirmación). HealthOmics usa la rama predeterminada si no se especifica ninguna referencia a la fuente.

         1. En **Excluir patrones de archivos**, introduzca los patrones de archivo para excluir carpetas, archivos o extensiones específicos. Esto ayuda a administrar el tamaño de los datos al importar archivos del repositorio. Hay un máximo de 50 patrones y los patrones deben seguir la sintaxis del [patrón global](https://fossil-scm.org/home/doc/tip/www/globs.md). Por ejemplo: 

            1. `tests/`

            1. `*.jpeg`

            1. `large_data.zip`

      1. Para **seleccionar la carpeta de definiciones de S3**:

         1. Introduzca la ubicación de Amazon S3 que contiene la carpeta comprimida de definiciones de flujos de trabajo. El bucket de Amazon S3 debe estar en la misma región que el flujo de trabajo.

         1. Si su cuenta no es propietaria del depósito de Amazon S3, introduzca el ID de AWS cuenta del propietario del depósito en el ID de **cuenta del propietario del depósito de S3**. Esta información es necesaria para HealthOmics poder verificar la propiedad del bucket.

      1. Para **seleccionar la carpeta de definiciones de una fuente local**:

         1. Introduzca la ubicación de la unidad local de la carpeta comprimida de definiciones de flujo de trabajo.

   1. **Ruta principal del archivo de definición del flujo** de trabajo (opcional): introduzca la ruta del archivo desde la carpeta o el repositorio de definiciones de flujo de trabajo comprimido hasta el `main` archivo. Este parámetro no es necesario si solo hay un archivo en la carpeta de definición del flujo de trabajo o si el archivo principal se denomina «principal».

1. En el panel del **archivo README** (opcional), seleccione la **fuente del archivo README** y proporcione la siguiente información:
   + Para **Importar desde un servicio de repositorio**, en la **ruta del archivo README**, introduzca la ruta al archivo README del repositorio.
   + En **Seleccione un archivo de S3**, en el **archivo README de S3**, introduzca el URI de Amazon S3 para el archivo README.
   + En **Seleccionar un archivo de una fuente local**: en **README (opcional)**, **elija Elegir archivo para seleccionar el archivo** marcado (.md) que desea cargar.

1. En el panel de **configuración del almacenamiento de ejecución predeterminado**, proporciona el tipo de almacenamiento de ejecución predeterminado y la capacidad para las ejecuciones que utilizan este flujo de trabajo:

   1. **Tipo de almacenamiento de ejecución**: elija si desea utilizar el almacenamiento estático o dinámico como predeterminado para el almacenamiento de ejecución temporal. El valor predeterminado es el almacenamiento estático.

   1. **Capacidad de almacenamiento de ejecución** (opcional): para el tipo de almacenamiento de ejecución estático, puede introducir la cantidad predeterminada de almacenamiento de ejecución necesaria para este flujo de trabajo. El valor predeterminado de este parámetro es 1200 GiB. Puede anular estos valores predeterminados al iniciar una ejecución.

1. **Etiquetas** (opcional): puedes asociar hasta 50 etiquetas a esta versión del flujo de trabajo.

1. Elija **Siguiente**.

1. En la página **Añadir parámetros de flujo** de trabajo (opcional), seleccione la **fuente de parámetros**:

   1. Para **analizar desde un archivo de definición de flujo** de trabajo, HealthOmics analizará automáticamente los parámetros del flujo de trabajo del archivo de definición del flujo de trabajo.

   1. Para **Proporcionar una plantilla de parámetros desde el repositorio de Git**, usa la ruta al archivo de plantillas de parámetros de tu repositorio.

   1. Para **seleccionar un archivo JSON de una fuente local**, sube un JSON archivo de una fuente local que especifique los parámetros.

   1. En **Introducir manualmente los parámetros del flujo** de trabajo, introduzca manualmente los nombres y las descripciones de los parámetros.

1. En el panel de **vista previa de los parámetros**, puede revisar o cambiar los parámetros de esta versión del flujo de trabajo. Si restaura el JSON archivo, perderá los cambios locales que haya realizado.

1. En la página de **reasignación de URI del contenedor**, en el panel **Reglas de mapeo**, puede definir las reglas de mapeo de URI para su flujo de trabajo.

   En **Fuente del archivo de mapeo**, selecciona una de las siguientes opciones:
   + **Ninguna**: no se requieren reglas de mapeo.
   + **Seleccione el archivo JSON de S3**: especifique la ubicación en S3 para el archivo de mapeo. 
   + **Seleccione el archivo JSON de una fuente local**: especifique la ubicación del archivo de mapeo en su dispositivo local.
   + **Introduzca los mapeos manualmente****: introduzca los mapeos de registro y los mapeos de imágenes en el panel de mapeos.**

1.  La consola **muestra** el panel de mapeos. Si elige un archivo fuente de mapeo, la consola muestra los valores del archivo.

   1. En **las asignaciones del registro**, puede editar las asignaciones o añadir asignaciones (máximo 20 asignaciones del registro).

      Cada mapeo de registro contiene los siguientes campos:
      + **URL del registro ascendente**: el URI del registro ascendente.
      + **Prefijo del repositorio ECR: el prefijo** del repositorio que se utilizará en el repositorio privado de Amazon ECR.
      + (Opcional) Prefijo del **repositorio ascendente: el prefijo** del repositorio en el registro ascendente.
      + (Opcional) ID de **cuenta ECR: ID** de cuenta de la cuenta propietaria de la imagen del contenedor ascendente.

   1. En los **mapeos de imágenes**, puede editar los mapeos de imágenes o añadir mapeos (máximo 100 mapeos de imágenes).

      Cada mapeo de imágenes contiene los siguientes campos:
      + **Imagen de origen**: especifica el URI de la imagen de origen en el registro original.
      + **Imagen de destino**: especifica el URI de la imagen correspondiente en el registro privado de Amazon ECR.

1. Elija **Siguiente**.

1. Revise la configuración de la versión y, a continuación, seleccione **Crear versión**.

Cuando se crea la versión, la consola vuelve a la página de detalles del flujo de trabajo y muestra la nueva versión en la tabla **Flujos de trabajo y versiones**.

## Cree una versión de flujo de trabajo mediante la CLI
<a name="workflow-versions-api-create"></a>

Puede crear una versión del flujo de trabajo mediante la operación de `CreateWorkflowVersion` API. Para los parámetros opcionales, HealthOmics utiliza los siguientes valores predeterminados:


| Parámetro | Predeterminado/a | 
| --- | --- | 
| Motor | Determinado a partir de la definición del flujo de trabajo | 
| Tipo de almacenamiento | STATIC | 
| Capacidad de almacenamiento (para almacenamiento estático) | 1200 GiB | 
| Principal  | Se determina en función del contenido de la carpeta de definición del flujo de trabajo. Para obtener más información, consulte [HealthOmics requisitos de definición del flujo de trabajo](workflow-defn-requirements.md). | 
| Aceleradores | none | 
| Tags | none | 

El siguiente ejemplo de CLI crea una versión de flujo de trabajo con almacenamiento estático como almacenamiento de ejecución predeterminado:

```
aws omics create-workflow-version \
--workflow-id 1234567  \
--version-name "my_version" \
--engine WDL \
--definition-zip fileb://workflow-crambam.zip \
--description "my version description" \
--main file://workflow-params.json \
--parameter-template file://workflow-params.json \
--storage-type='STATIC'   \
--storage-capacity 1200   \
--tags example123=string  \
--accelerators GPU
```

Si el archivo de definición de flujo de trabajo se encuentra en una carpeta de Amazon S3, introduzca la ubicación mediante el `definition-uri` parámetro en lugar de`definition-zip`. Para obtener más información, consulte [CreateWorkflowVersion](https://docs.aws.amazon.com/omics/latest/api/API_CreateWorkflowVersion.html)la referencia de la HealthOmics API de AWS.

Recibirá la siguiente respuesta a la `create-workflow-version` solicitud.

```
{
  "workflowId": "1234567",
  "versionName": "my_version",
  "arn": "arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/3",
  "status": "ACTIVE",
  "tags": {
    "environment": "production",
    "owner": "team-alpha"
  },
  "uuid": "0ac9a563-355c-fc7a-1b47-a115167af8a2"
}
```

## Cree una versión del flujo de trabajo mediante un SDK
<a name="workflow-versions-sdk"></a>

Puede crear un flujo de trabajo mediante uno de los SDKs.

El siguiente ejemplo muestra cómo crear una versión de flujo de trabajo mediante el SDK de Python.

```
import boto3

omics = boto3.client('omics')

with open('definition.zip', 'rb') as f:
   definition = f.read()

response = omics.create_workflow_version(
   workflowId='1234567',
   versionName='my_version',
   requestId='my_request_1'
   definitionZip=definition,
   parameterTemplate={ ... }
)
```

## Compruebe el estado de una versión de flujo de trabajo
<a name="using-get-workflow"></a>

Después de crear la versión del flujo de trabajo, puede verificar el estado y ver otros detalles del flujo de trabajo mediante **get-workflow-version**la siguiente información.

```
aws omics get-workflow-version 
--workflow-id 9876543
--version-name "my_version"
```

La respuesta proporciona los detalles del flujo de trabajo, incluido el estado, tal y como se muestra.

```
{
  "workflowId": "1234567",
  "versionName": "3.0.0",
  "arn": "arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/3.0.0",
  "status": "ACTIVE",
  "description": ...
  "uuid": "0ac9a563-355c-fc7a-1b47-a115167af8a2"
}
```

Para poder iniciar una ejecución con esta versión del flujo de trabajo, el estado debe pasar a`ACTIVE`.

# Actualizar una versión del flujo de trabajo
<a name="workflows-version-update"></a>

Puede actualizar la descripción y la configuración de almacenamiento de ejecución predeterminada para una versión de flujo de trabajo privado. Para cambiar cualquier otra información de la versión del flujo de trabajo, cree una nueva versión. 

**Topics**
+ [Actualice una versión del flujo de trabajo mediante la consola](#workflow-versions-console-update)
+ [Actualizar una versión de flujo de trabajo mediante la CLI](#workflow-versions-api-update)
+ [Actualiza una versión del flujo de trabajo mediante un SDK](#workflow-versions-sdk-update)

## Actualice una versión del flujo de trabajo mediante la consola
<a name="workflow-versions-console-update"></a>

**Para actualizar una versión del flujo de trabajo**

1. Abra la [consola de HealthOmics ](https://console.aws.amazon.com/omics/).

1.  Si es necesario, abra el panel de navegación izquierdo (≡). Elija **Flujos de trabajo privados**.

1. En la página **Flujos de trabajo privados**, elija el flujo de trabajo.

1. En la página **Flujo** de trabajo, elija la versión del flujo de trabajo que desee actualizar y **seleccione Editar** en la lista de **acciones**. 
   + Si elige la versión predeterminada, la consola abre la página **Editar flujo de trabajo**. Para obtener más información, consulte [Actualizar un flujo de trabajo privado](update-private-workflow.md).
   + Si elige una versión definida por el usuario, la consola abre la página **Editar versión**. 

1. En la página **Editar versión**, proporcione la siguiente información
   + **Descripción de la versión** (opcional): descripción de esta versión.

1. En el panel de **configuración del almacenamiento de ejecución predeterminado**, proporcione los siguientes valores predeterminados para las ejecuciones que utilizan esta versión de flujo de trabajo. Puede anular los valores predeterminados al iniciar una ejecución:
   + En el **tipo de almacenamiento Ejecutar**, selecciona **Estático** o **Dinámico**.
   + Para el almacenamiento de ejecución estático, seleccione la cantidad predeterminada de **capacidad de almacenamiento de ejecución** para las ejecuciones que utilizan esta versión de flujo de trabajo. El valor predeterminado de este parámetro es 1200 GiB.

1. Seleccione **Save changes (Guardar cambios)**.

La consola vuelve a la página de detalles del flujo de trabajo y muestra un encabezado de página con la versión actualizada del flujo de trabajo.

## Actualizar una versión de flujo de trabajo mediante la CLI
<a name="workflow-versions-api-update"></a>

Puede actualizar los parámetros de una versión de flujo de trabajo mediante el siguiente comando CLI. La combinación del identificador del flujo de trabajo y el nombre de la versión identifica de forma exclusiva la versión. 

```
aws omics update-workflow-version
--workflow-id 1234567
--version-name "my_version"
--storage-type 'STATIC' 
--storage-capacity 2400
--description "version description"
```

No recibirá ninguna respuesta a la `update-workflow-version` solicitud. 

## Actualiza una versión del flujo de trabajo mediante un SDK
<a name="workflow-versions-sdk-update"></a>

Puede actualizar una versión del flujo de trabajo mediante una de las SDKs. El siguiente ejemplo del SDK de Python muestra cómo actualizar el tipo de almacenamiento y la descripción de una versión de flujo de trabajo.

```
import boto3

omics = boto3.client('omics')

response = omics.update_workflow_version(
   workflowID=1234567,
   versionName='3.0.0',
   storageType='DYNAMIC',
   description='new version description'
)
```

# Eliminar una versión del flujo de trabajo
<a name="workflows-version-delete"></a>

Puede eliminar una versión de flujo de trabajo definida por el usuario mediante la consola, la CLI o una de las SDKs. La eliminación de una versión del flujo de trabajo no afecta a las ejecuciones en curso que estén utilizando la versión del flujo de trabajo.

No puede eliminar el[Versión de flujo de trabajo predeterminada](workflows-default-version.md). Se eliminan todas las versiones definidas por el usuario y, a continuación, se elimina el flujo de trabajo.

**Topics**
+ [Elimine una versión del flujo de trabajo mediante la consola](#workflow-versions-console-delete)
+ [Eliminar una versión del flujo de trabajo mediante la CLI](#workflow-versions-api-delete)
+ [Elimine una versión del flujo de trabajo mediante un SDK](#workflow-versions-sdk-delete)

## Elimine una versión del flujo de trabajo mediante la consola
<a name="workflow-versions-console-delete"></a>

**Para eliminar una versión del flujo de trabajo**

1. Abra la [consola de HealthOmics ](https://console.aws.amazon.com/omics/).

1.  Si es necesario, abra el panel de navegación izquierdo (≡). Elija **Flujos de trabajo privados**.

1. En la página **Flujos de trabajo privados**, elija el flujo de trabajo.

1. En la página **Flujo** de trabajo, elija la versión del flujo de trabajo que desee eliminar y elija **Eliminar seleccionada** en la lista de **acciones**. 

1. En el modal **Eliminar versión del flujo** de trabajo, introduzca «confirmar» para confirmar la eliminación.

1. Elija **Eliminar**.

La consola muestra un encabezado de página con la versión del flujo de trabajo eliminada.

## Eliminar una versión del flujo de trabajo mediante la CLI
<a name="workflow-versions-api-delete"></a>

Puede eliminar una versión de flujo de trabajo definida por el usuario mediante el siguiente comando CLI. La combinación del identificador del flujo de trabajo y el nombre de la versión identifica de forma exclusiva la versión. 

```
aws omics delete-workflow-version
--workflow-id 9876543
--version-name "my_version"
```

No recibirá ninguna respuesta a la `delete-workflow-version` solicitud. 

## Elimine una versión del flujo de trabajo mediante un SDK
<a name="workflow-versions-sdk-delete"></a>

Puede eliminar un flujo de trabajo mediante uno de los SDKs.

El siguiente ejemplo muestra cómo eliminar un flujo de trabajo mediante el SDK de Python.

```
import boto3

omics = boto3.client('omics')

response = omics.delete_workflow_version(
   workflowID=1234567,
   versionName='3.0.0'
)
```