

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Versionnage des flux de travail dans HealthOmics
<a name="workflow-versions"></a>

Si vous devez apporter des modifications à un flux de travail, vous pouvez créer un nouveau flux de travail ou une nouvelle version de flux de travail. Les versions sont immuables, à l'exception des modifications de configuration autorisées qui n'ont aucun impact sur la logique d'exécution.

Les versions Workflow offrent les avantages suivants :
+ Les versions forment un groupe logique de flux de travail liés entre eux. Vous pouvez ajouter un nom défini par l'utilisateur à chaque version du flux de travail afin de les gérer plus facilement (en particulier pour un flux de travail comportant un grand nombre de versions). 
+ Vous pouvez exécuter plusieurs versions d'un flux de travail en même temps.
+ Toutes les versions d'un flux de travail partagent le même ID de flux de travail et le même ARN de base, ce qui peut simplifier la gestion du pipeline une fois que vous avez modifié un flux de travail.
+ Les versions de flux de travail fournissent le même niveau de provenance des données que les flux de travail. Les versions sont immuables et HealthOmics créent un ARN unique pour chaque version du flux de travail. L'ARN de la version inclut l'ID du flux de travail et le nom de la version, comme indiqué dans l'exemple suivant :

  `arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/myUniqueVersionName`
+ Si vous possédez un flux de travail partagé, vous pouvez le mettre à jour sans perturber les abonnés (qui peuvent continuer à utiliser la version précédente). Les abonnés peuvent accéder à toutes les versions du flux de travail. Si vous créez une nouvelle version, il n'est pas nécessaire de partager à nouveau le flux de travail.
+ Lorsque vous lancez une exécution de flux de travail, vous pouvez spécifier la version du flux de travail.
  + Les utilisateurs peuvent choisir de rester sur une version stable pour les cycles de production et d'essayer la dernière version pour un essai.
  + Les utilisateurs peuvent revenir à la version précédente d'un flux de travail s'ils rencontrent des problèmes avec la nouvelle version.
  + Les abonnés d'un flux de travail partagé peuvent choisir la version à utiliser.

**Topics**
+ [Version du flux de travail par défaut](workflows-default-version.md)
+ [Création d'une version de flux de travail](workflows-version-create.md)
+ [Mettre à jour une version du flux de travail](workflows-version-update.md)
+ [Supprimer une version du flux de travail](workflows-version-delete.md)

# Version du flux de travail par défaut
<a name="workflows-default-version"></a>

Après avoir créé une ou plusieurs versions d'un flux de travail, HealthOmics traite le flux de travail d'origine comme la version par défaut. Lorsque vous démarrez une exécution, vous pouvez éventuellement spécifier une version de flux de travail pour l'exécution. Si vous ne spécifiez pas de version lorsque vous lancez une exécution, HealthOmics utilise la version par défaut.

Dans la console, HealthOmics indique le flux de travail d'origine avec une étiquette de **version par défaut**. La console utilise cette étiquette uniquement après avoir créé une ou plusieurs versions du flux de travail. Le flux de travail d'origine reste toujours la version par défaut. Vous ne pouvez attribuer aucune autre version comme version par défaut.

Vous ne pouvez pas supprimer la version par défaut d'un flux de travail si d'autres versions sont associées au flux de travail. Pour de plus amples informations, veuillez consulter [Supprimer un flux de travail privé](delete-private-workflow.md).

# Création d'une version de flux de travail
<a name="workflows-version-create"></a>

Lorsque vous créez une nouvelle version d'un flux de travail, vous devez spécifier les valeurs de configuration pour cette nouvelle version. Il n'hérite d'aucune valeur de configuration du flux de travail.

Lorsque vous créez la version, fournissez un nom de version unique pour ce flux de travail. Vous ne pouvez pas modifier le nom après avoir HealthOmics créé la version. 

Le nom de version doit commencer par une lettre ou un chiffre et peut inclure des lettres majuscules et minuscules, des chiffres, des traits d'union, des points et des traits de soulignement. La longueur maximale est de 64 caractères. Par exemple, vous pouvez utiliser un schéma de dénomination simple, tel que version1, version2, version3. Vous pouvez également faire correspondre les versions de votre flux de travail à vos propres conventions de version internes, telles que 2.7.0, 2.7.1, 2.7.2.

Vous pouvez éventuellement utiliser le champ de description de la version pour ajouter des remarques sur cette version. Par exemple : **Fix for syntax error in workflow definition**.

**Note**  
N'incluez aucune information personnellement identifiable (PII) dans le nom de la version. Les noms de version apparaissent dans l'ARN de la version du flux de travail.

HealthOmics attribue un ARN unique à la version du flux de travail. L'ARN est unique en fonction de la combinaison de l'ID du flux de travail et du nom de version.

**Avertissement**  
Après avoir supprimé une version de flux de travail, HealthOmics vous pouvez réutiliser le nom de version pour une autre version de flux de travail. La meilleure pratique consiste à ne pas réutiliser les noms de version. Si vous réutilisez un nom, le flux de travail et chaque version possèdent un UUID unique que vous pouvez utiliser pour la provenance. 

**Topics**
+ [Création d'une version du flux de travail à l'aide de la console](#workflow-versions-console-create)
+ [Création d'une version de flux de travail à l'aide de la CLI](#workflow-versions-api-create)
+ [Création d'une version de flux de travail à l'aide d'un SDK](#workflow-versions-sdk)
+ [Vérifier le statut d'une version du flux de travail](#using-get-workflow)

## Création d'une version du flux de travail à l'aide de la console
<a name="workflow-versions-console-create"></a>

**Étapes pour créer une version de flux de travail**

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

1.  Si nécessaire, ouvrez le volet de navigation de gauche (≡). Choisissez des **flux de travail privés**.

1. Sur la page **Flux de travail privés**, choisissez le flux de travail pour la nouvelle version.

1. Sur la page des **détails du flux** de travail, choisissez **Créer une nouvelle version**.

1. Sur la page **Créer une version**, fournissez les informations suivantes :

   1. **Nom de version** : entrez un nom unique pour la version du flux de travail dans le flux de travail. 

   1. **Description de la version** (facultatif) : vous pouvez utiliser le champ de description pour ajouter des remarques sur cette version.

1. Dans le panneau **de définition du flux** de travail, fournissez les informations suivantes :

   1. **Langue du flux** de travail (facultatif) : sélectionnez la langue de spécification pour la version du flux de travail. Dans le cas contraire, HealthOmics détermine la langue à partir de la définition du flux de travail.

   1. Pour **la source de définition du flux** de travail, choisissez d'importer le dossier de définition à partir d'un référentiel Git, d'un emplacement Amazon S3 ou d'un lecteur local.

      1. Pour **l'importation depuis un service de référentiel** :
**Note**  
HealthOmics prend en charge les référentiels publics et privés pour GitHubGitLab,, BitbucketGitHub self-managed,GitLab self-managed.

         1. Choisissez une **connexion** pour connecter vos AWS ressources au référentiel externe. Pour créer une connexion, voir[Connectez-vous à des référentiels de code externes](setting-up-new.md#setting-up-omics-repository).
**Note**  
Les clients de la TLV région doivent créer une connexion dans la région IAD (us-east-1) pour créer un flux de travail. 

         1. Dans ID de **référentiel complet, entrez votre ID** de référentiel sous forme de nom d'utilisateur/nom de dépôt. Vérifiez que vous avez accès aux fichiers de ce dépôt.

         1. Dans **Référence de source** (facultatif), entrez une référence de source de référentiel (branche, balise ou ID de validation). HealthOmics utilise la branche par défaut si aucune référence de source n'est spécifiée.

         1. Dans **Exclure les modèles** de fichiers, entrez les modèles de fichiers pour exclure des dossiers, des fichiers ou des extensions spécifiques. Cela permet de gérer la taille des données lors de l'importation de fichiers de référentiel. Il y a un maximum de 50 modèles, et les modèles doivent suivre la syntaxe du [modèle global](https://fossil-scm.org/home/doc/tip/www/globs.md). Par exemple : 

            1. `tests/`

            1. `*.jpeg`

            1. `large_data.zip`

      1. Pour **Sélectionner le dossier de définition depuis S3** :

         1. Entrez l'emplacement Amazon S3 qui contient le dossier de définition du flux de travail compressé. Le compartiment Amazon S3 doit se trouver dans la même région que le flux de travail.

         1. Si votre compte ne possède pas le compartiment Amazon S3, entrez l'ID de AWS compte du propriétaire du compartiment dans l'ID **de compte du propriétaire du compartiment S3**. Ces informations sont nécessaires pour vérifier HealthOmics la propriété du compartiment.

      1. Pour **Sélectionner le dossier de définition à partir d'une source locale** :

         1. Entrez l'emplacement du lecteur local du dossier de définition du flux de travail compressé.

   1. **Chemin du fichier de définition du flux de travail principal** (facultatif) : entrez le chemin du fichier depuis le dossier ou le référentiel de définition du flux de travail compressé vers le `main` fichier. Ce paramètre n'est pas obligatoire s'il n'existe qu'un seul fichier dans le dossier de définition du flux de travail ou si le fichier principal est nommé « main ».

1. Dans le panneau du **fichier README** (facultatif), sélectionnez la **source du fichier README** et fournissez les informations suivantes :
   + Pour **Importer depuis un service de référentiel**, dans le **champ Chemin du fichier README**, entrez le chemin du fichier README dans le référentiel.
   + Pour **Select file from S3**, dans le **fichier README dans S3**, entrez l'URI Amazon S3 du fichier README.
   + Pour **Sélectionner un fichier à partir d'une source locale** : dans **README, facultatif**, **choisissez Choisir un fichier** pour sélectionner le fichier Markdown (.md) à télécharger.

1. Dans le panneau de **configuration du stockage d'exécution par** défaut, indiquez le type de stockage d'exécution par défaut et la capacité pour les exécutions utilisant ce flux de travail :

   1. **Type de stockage d'exécution** : choisissez d'utiliser le stockage statique ou dynamique par défaut pour le stockage d'exécution temporaire. La valeur par défaut est le stockage statique.

   1. **Capacité de stockage d'exécution** (facultatif) : pour le type de stockage d'exécution statique, vous pouvez entrer la quantité de stockage d'exécution par défaut requise pour ce flux de travail. La valeur par défaut de ce paramètre est de 1200 GiB. Vous pouvez remplacer ces valeurs par défaut lorsque vous démarrez une course.

1. **Balises** (facultatif) : vous pouvez associer jusqu'à 50 balises à cette version du flux de travail.

1. Choisissez **Suivant**.

1. Sur la page **Ajouter des paramètres de flux** de travail (facultatif), sélectionnez la **source du paramètre** :

   1. Pour **Parse from fichier de définition de flux de travail**, HealthOmics analysera automatiquement les paramètres du flux de travail à partir du fichier de définition de flux de travail.

   1. Pour **Provide parameter template from Git repository**, utilisez le chemin d'accès au fichier de modèle de paramètres depuis votre dépôt.

   1. Pour **Select JSON file from local source**, téléchargez un JSON fichier depuis une source locale qui spécifie les paramètres.

   1. Pour **saisir manuellement les paramètres du flux** de travail, entrez manuellement les noms et les descriptions des paramètres.

1. Dans le panneau d'**aperçu des paramètres**, vous pouvez consulter ou modifier les paramètres de cette version du flux de travail. Si vous restaurez le JSON fichier, vous perdrez toutes les modifications locales que vous avez apportées.

1. Sur la page de **remappage des URI du conteneur**, dans le panneau **Règles de mappage**, vous pouvez définir des règles de mappage des URI pour votre flux de travail.

   Pour **Source du fichier de mappage**, sélectionnez l'une des options suivantes :
   + **Aucune : aucune** règle de mappage n'est requise.
   + **Sélectionnez le fichier JSON dans S3** — Spécifiez l'emplacement S3 du fichier de mappage. 
   + **Sélectionnez un fichier JSON à partir d'une source locale** : spécifiez l'emplacement du fichier de mappage sur votre appareil local.
   + **Entrez les mappages manuellement** **: entrez les mappages de registre et les mappages d'images dans le panneau Mappages.**

1.  La console affiche le panneau **Mappings.** Si vous avez choisi un fichier source de mappage, la console affiche les valeurs du fichier.

   1. Dans **les mappages de registre**, vous pouvez modifier les mappages ou ajouter des mappages (maximum de 20 mappages de registre).

      Chaque mappage de registre contient les champs suivants :
      + **URL du registre en amont** : URI du registre en amont.
      + Préfixe **du référentiel ECR : préfixe** du référentiel à utiliser dans le référentiel privé Amazon ECR.
      + (Facultatif) **Préfixe du référentiel en amont** : préfixe du référentiel dans le registre en amont.
      + (Facultatif) ID de **compte ECR : ID** de compte du compte propriétaire de l'image du conteneur en amont.

   1. Dans **Mappages d'images**, vous pouvez modifier les mappages d'images ou ajouter des mappages (maximum de 100 mappages d'images).

      Chaque mappage d'image contient les champs suivants :
      + **Image source** — Spécifie l'URI de l'image source dans le registre en amont.
      + **Image de destination** — Spécifie l'URI de l'image correspondante dans le registre Amazon ECR privé.

1. Choisissez **Suivant**.

1. Vérifiez la configuration de la version, puis choisissez **Créer une version**.

Lorsque la version est créée, la console revient à la page détaillée du flux de travail et affiche la nouvelle version dans le tableau des **flux de travail et des versions**.

## Création d'une version de flux de travail à l'aide de la CLI
<a name="workflow-versions-api-create"></a>

Vous pouvez créer une version du flux de travail à l'aide de `CreateWorkflowVersion` l'opération API. Pour les paramètres facultatifs, HealthOmics utilise les valeurs par défaut suivantes :


| Paramètre | Par défaut | 
| --- | --- | 
| Engine | Déterminé à partir de la définition du flux de travail | 
| Type de stockage | STATIC | 
| Capacité de stockage (pour le stockage statique) | 1200 GiB | 
| Principal  | Déterminé en fonction du contenu du dossier de définition du flux de travail. Pour en savoir plus, consultez [HealthOmics exigences de définition du flux de travail](workflow-defn-requirements.md). | 
| Accélérateurs | none | 
| Étiquettes | none | 

L'exemple de CLI suivant crée une version de flux de travail avec le stockage statique comme stockage d'exécution par défaut :

```
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 le fichier de définition de votre flux de travail se trouve dans un dossier Amazon S3, entrez l'emplacement en utilisant le `definition-uri` paramètre au lieu de`definition-zip`. Pour plus d'informations, consultez [CreateWorkflowVersion](https://docs.aws.amazon.com/omics/latest/api/API_CreateWorkflowVersion.html)le manuel de référence des HealthOmics API AWS.

Vous recevez la réponse suivante à la `create-workflow-version` demande.

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

## Création d'une version de flux de travail à l'aide d'un SDK
<a name="workflow-versions-sdk"></a>

Vous pouvez créer un flux de travail à l'aide de l'un des SDKs.

L'exemple suivant montre comment créer une version de flux de travail à l'aide du SDK 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={ ... }
)
```

## Vérifier le statut d'une version du flux de travail
<a name="using-get-workflow"></a>

Après avoir créé la version de votre flux de travail, vous pouvez vérifier le statut et consulter d'autres détails du flux de travail à l'aide **get-workflow-version**de ce qui suit :

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

La réponse vous donne les détails de votre flux de travail, y compris le statut, comme indiqué.

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

Avant de pouvoir démarrer une exécution avec cette version du flux de travail, le statut doit passer à`ACTIVE`.

# Mettre à jour une version du flux de travail
<a name="workflows-version-update"></a>

Vous pouvez mettre à jour la description et la configuration de stockage d'exécution par défaut pour une version de flux de travail privé. Pour modifier toute autre information dans la version du flux de travail, créez une nouvelle version. 

**Topics**
+ [Mettre à jour une version du flux de travail à l'aide de la console](#workflow-versions-console-update)
+ [Mettre à jour une version de flux de travail à l'aide de la CLI](#workflow-versions-api-update)
+ [Mettre à jour une version de flux de travail à l'aide d'un SDK](#workflow-versions-sdk-update)

## Mettre à jour une version du flux de travail à l'aide de la console
<a name="workflow-versions-console-update"></a>

**Pour mettre à jour une version d'un flux de travail**

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

1.  Si nécessaire, ouvrez le volet de navigation de gauche (≡). Choisissez des **flux de travail privés**.

1. Sur la page **Flux de travail privés**, choisissez le flux de travail.

1. Sur la page **Flux de travail**, choisissez la version du flux de travail à mettre à jour, puis **sélectionnez Modifier** dans la liste **Actions**. 
   + Si vous choisissez la version par défaut, la console ouvre la page **Modifier le flux de travail**. Pour de plus amples informations, veuillez consulter [Mettre à jour un flux de travail privé](update-private-workflow.md).
   + Si vous choisissez une version définie par l'utilisateur, la console ouvre la page **Modifier la version**. 

1. Sur la page **Modifier la version**, fournissez les informations suivantes
   + **Description de la version** (facultatif) - Description de cette version.

1. Dans le panneau de **configuration du stockage par défaut**, indiquez les valeurs par défaut suivantes pour les exécutions utilisant cette version du flux de travail. Vous pouvez remplacer les valeurs par défaut lorsque vous démarrez une course :
   + Pour le **type de stockage Exécuter**, sélectionnez **Statique** ou **Dynamique**.
   + Pour le stockage statique, sélectionnez la quantité par défaut de **capacité de stockage d'exécution** pour les exécutions utilisant cette version de flux de travail. La valeur par défaut de ce paramètre est de 1200 GiB.

1. Sélectionnez **Enregistrer les modifications**.

La console revient à la page détaillée du flux de travail et affiche une bannière de page avec la version mise à jour du flux de travail.

## Mettre à jour une version de flux de travail à l'aide de la CLI
<a name="workflow-versions-api-update"></a>

Vous pouvez mettre à jour les paramètres d'une version de flux de travail à l'aide de la commande CLI suivante. La combinaison de l'ID du flux de travail et du nom de version identifie la version de manière unique. 

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

Vous ne recevez aucune réponse à cette `update-workflow-version` demande. 

## Mettre à jour une version de flux de travail à l'aide d'un SDK
<a name="workflow-versions-sdk-update"></a>

Vous pouvez mettre à jour une version du flux de travail à l'aide de l'un des SDKs. L'exemple de SDK Python suivant montre comment mettre à jour le type de stockage et la description d'une version de flux de travail.

```
import boto3

omics = boto3.client('omics')

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

# Supprimer une version du flux de travail
<a name="workflows-version-delete"></a>

Vous pouvez supprimer une version de flux de travail définie par l'utilisateur à l'aide de la console, de la CLI ou de l' SDKsune des. La suppression d'une version de flux de travail n'affecte pas les exécutions en cours utilisant cette version de flux de travail.

Vous ne pouvez pas supprimer le[Version du flux de travail par défaut](workflows-default-version.md). Vous supprimez toutes les versions définies par l'utilisateur, puis vous supprimez le flux de travail.

**Topics**
+ [Supprimer une version du flux de travail à l'aide de la console](#workflow-versions-console-delete)
+ [Supprimer une version du flux de travail à l'aide de la CLI](#workflow-versions-api-delete)
+ [Supprimer une version du flux de travail à l'aide d'un SDK](#workflow-versions-sdk-delete)

## Supprimer une version du flux de travail à l'aide de la console
<a name="workflow-versions-console-delete"></a>

**Pour supprimer une version du flux de travail**

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

1.  Si nécessaire, ouvrez le volet de navigation de gauche (≡). Choisissez des **flux de travail privés**.

1. Sur la page **Flux de travail privés**, choisissez le flux de travail.

1. Sur la page **Flux** de travail, choisissez la version du flux de travail à **supprimer**, puis sélectionnez Supprimer dans la liste **Actions**. 

1. Dans le modal **Supprimer la version du flux** de travail, entrez « confirmer » pour confirmer la suppression.

1. Sélectionnez **Delete (Supprimer)**.

La console affiche une bannière de page avec la version du flux de travail supprimée.

## Supprimer une version du flux de travail à l'aide de la CLI
<a name="workflow-versions-api-delete"></a>

Vous pouvez supprimer une version de flux de travail définie par l'utilisateur à l'aide de la commande CLI suivante. La combinaison de l'ID du flux de travail et du nom de version identifie la version de manière unique. 

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

Vous ne recevez aucune réponse à cette `delete-workflow-version` demande. 

## Supprimer une version du flux de travail à l'aide d'un SDK
<a name="workflow-versions-sdk-delete"></a>

Vous pouvez supprimer un flux de travail à l'aide de l'un des SDKs.

L'exemple suivant montre comment supprimer un flux de travail à l'aide du SDK Python.

```
import boto3

omics = boto3.client('omics')

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