

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.

# Configuration des conditions d'une étape
<a name="stage-conditions"></a>

Vous pouvez spécifier une condition pour une étape, par exemple vérifier la présence d'une variable spécifique dans l'exécution du pipeline, puis obtenir un résultat pour cette condition, par exemple en sautant l'étape ou en échouant à l'étape. Un pipeline peut être configuré pour vérifier les conditions de l'étape pendant l'exécution, en spécifiant les vérifications pour une étape, puis en spécifiant comment l'étape doit se poursuivre lorsque certaines conditions sont remplies. Les conditions contiennent une ou plusieurs règles qui sont disponibles dans une liste de règles dans CodePipeline. Si toutes les règles d'une condition sont respectées, la condition est remplie. Vous pouvez configurer les conditions de telle sorte que lorsque les critères ne sont pas remplis, le résultat spécifié s'active.

Chaque condition possède un ensemble de règles qui est un ensemble ordonné de règles évaluées ensemble. Par conséquent, si une règle échoue dans la condition, celle-ci échoue. Vous pouvez annuler les conditions des règles lors de l'exécution du pipeline.

Les conditions sont utilisées pour des types d'expressions spécifiques et chacune dispose d'options spécifiques pour les résultats disponibles, comme suit : 
+ **Entrée** - Les conditions à remplir pour effectuer des vérifications qui, si elles sont remplies, permettent d'accéder à une étape. Les règles sont activées avec les options de résultat suivantes : **Échec** ou **Ignorer**
+ **En cas d'échec** : conditions permettant de vérifier l'étape en cas d'échec. Les règles sont activées avec l'option de résultat suivante : **Annulation**
+ En cas de **réussite** : conditions à remplir pour vérifier la réussite de l'étape. **Les règles sont activées avec les options de résultat suivantes : **Annulation ou échec****

Les conditions sont soutenues par un ensemble de *règles* pour chaque type de condition. 

Pour chaque type de condition, des actions spécifiques sont définies par la condition. L'action est le résultat de la réussite ou de l'échec de la vérification de condition. Par exemple, la condition d'entrée (condition d'entrée) rencontre une alarme (règle), puis la vérification est réussie et le résultat (action) est que l'entrée sur scène est bloquée.

Vous pouvez également utiliser la AWS CodePipeline console ou le AWS CLI pour revenir en arrière ou réessayer manuellement une étape ou les actions d'une étape. Consultez [Configuration des conditions d'une étape](#stage-conditions).

**Topics**
+ [Cas d'utilisation des conditions scéniques](#stage-conditions-cases)
+ [Considérations relatives aux résultats configurés pour les conditions de scène](#stage-conditions-considerations)
+ [Considérations relatives aux règles configurées pour les conditions de scène](#stage-conditions-considerations-rules)
+ [Création de conditions d'entrée](#stage-conditions-entry)
+ [Création de conditions en cas de défaillance](#stage-conditions-onfailure)
+ [Conditions de création en cas de réussite](#stage-conditions-onsuccess)
+ [Supprimer les conditions d'une étape](#stage-conditions-delete)
+ [Conditions de scène prioritaires](#stage-conditions-override)

## Cas d'utilisation des conditions scéniques
<a name="stage-conditions-cases"></a>

Les conditions d'étape ont de nombreux cas d'utilisation pour configurer la sécurité des rejets et des modifications dans les pipelines. Voici des exemples de cas d'utilisation des conditions de scène.
+ Utilisez une condition d'entrée pour définir une condition qui vérifiera l'état de l' CloudWatchalarme, qui bloquera ensuite une modification si l'environnement de production n'est pas en bon état.
+ Utilisez une condition d'entrée avec un temps d'attente de 60 pour définir une condition à évaluer lorsque toutes les actions d'une étape sont terminées avec succès, puis annulez les modifications si une CloudWatch alarme passe en état ALARM dans les 60 minutes.
+ Utilisez une condition En cas de réussite pour définir une condition afin que, lorsque l'étape se termine avec succès, la règle vérifie si l'heure actuelle est dans la fenêtre de déploiement, puis se déploie si la règle aboutit.

## Considérations relatives aux résultats configurés pour les conditions de scène
<a name="stage-conditions-considerations"></a>

Les considérations relatives aux conditions de scène sont les suivantes :
+ Vous ne pouvez pas utiliser la nouvelle tentative automatique d'étape avec les conditions OnFailure.
+ Lors de la configuration d'une condition avec un résultat de **restauration**, l'étape ne peut revenir à une exécution précédente que si elle est disponible dans la version actuelle de la structure du pipeline.
+ Lorsque vous configurez une condition avec un résultat d'**annulation**, vous ne pouvez pas revenir à un ID d'exécution cible correspondant à un type d'exécution de restauration.
+ Pour les conditions d'entrée qui utilisent le résultat **Ignorer** pour sauter l'étape en cas d'échec de la condition, seules les `VariableCheck` règles `LambdaInvoke` et sont prises en charge.
+ Vous ne pouvez pas effectuer une nouvelle tentative manuelle sur une étape dont le statut **est ignoré**.
+ Vous ne pouvez pas revenir manuellement à une étape dont le statut **est ignoré**.
+ Vous ne pouvez pas annuler une condition si celle-ci est configurée avec un résultat **Ignorer**.
+ À l'exception des résultats **Skip**, vous pouvez annuler une condition d'étape lorsque vous démarrez l'exécution d'un pipeline. Pour une condition d'étape dans laquelle une dérogation est activée, l'exécution s'effectuera comme indiqué dans le tableau suivant.
+   
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/stage-conditions.html)

## Considérations relatives aux règles configurées pour les conditions de scène
<a name="stage-conditions-considerations-rules"></a>

Les considérations relatives aux règles disponibles pour les conditions de scène sont les suivantes :
+ Pour la `LambdaInvoke` règle, vous devez d'abord configurer la fonction Lambda à utiliser dans la règle. Assurez-vous que l'ARN de la fonction Lambda est prêt à fournir lorsque vous configurez la règle. 
+ Pour la `CloudWatchAlarm` règle, vous devez d'abord configurer l'événement CloudWatch Events à utiliser dans la règle. Préparez l'ARN de l'événement à fournir lorsque vous configurez la règle.

## Création de conditions d'entrée
<a name="stage-conditions-entry"></a>

Vous pouvez configurer les conditions d'entrée pour une étape à l'aide de la console ou de la CLI. Vous allez configurer les règles et les résultats correspondants pour chaque condition. Pour obtenir un résultat de restauration, le pipeline ne peut revenir à une exécution précédente que si celle-ci a été démarrée dans la version actuelle de la structure du pipeline.

Les étapes fournissent un exemple de condition d'entrée qui utilise une règle de surveillance.

Pour plus d'informations, consultez [Condition [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html)](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html), et [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)dans le *guide de l'CodePipeline API*.

### Création de conditions d'entrée : exemple de CloudWatchAlarm règle (console)
<a name="stage-conditions-entry-console"></a>

Vous pouvez configurer les conditions d'entrée pour une étape, ainsi que les règles et les résultats que vous souhaitez que l'étape exécute lorsque les conditions sont remplies. 

**Configuration d'une condition d'entrée (console)**

1. Remplissez tous les prérequis, tels que la création de la ressource et de l'ARN pour une règle dans laquelle une ressource est fournie, telle que le **AWS CloudWatchAlarm**.

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Les noms et le statut de tous les pipelines associés à votre pipeline Compte AWS sont affichés. 

1. Dans **Name**, choisissez le nom du pipeline que vous souhaitez modifier.

1. Sur la page des détails du pipeline, choisissez **Edit**. 

1. Sur la page **Modifier**, pour l'action que vous souhaitez modifier, choisissez **Modifier l'étape**.

1. Choisissez **Ajouter une condition de saisie**. La carte des **conditions d'entrée avant l'étape** s'affiche avec l'option **Échec** disponible pour cette condition.

1. Choisissez **Ajouter une règle**, puis effectuez les opérations suivantes.

   1. Dans **Nom de la règle**, entrez le nom de votre règle. Pour cet exemple, entrez `MyAlarmRule`.

   1. Dans **Fournisseur de règles**, choisissez le fournisseur de règles préconfiguré à ajouter à votre condition. Pour cet exemple, choisissez **AWS CloudWatchAlarm**, puis effectuez les étapes suivantes.

   1. Dans **Région**, choisissez la région correspondant à votre état ou conservez la région par défaut.

   1. Dans **Nom de l'alarme**, choisissez la CloudWatch ressource à utiliser pour la règle. Vous devez déjà avoir créé la ressource dans votre compte.

   1. (Facultatif) Dans **Temps d'attente**, entrez le temps CodePipeline d'attente si l'alarme est en état ALARM lors de sa première évaluation. Si l'alarme est OK lorsque la règle est vérifiée pour la première fois, la règle aboutira immédiatement.

   1. (Facultatif) Entrez les états d'alarme spécifiques à surveiller et entrez l'ARN du rôle le cas échéant.

   1. Lorsque vous avez terminé de modifier la scène, choisissez **OK**. Sur la page de modification du pipeline, choisissez **Enregistrer**.

1. Après l'exécution, visualisez le résultat.

### Création de conditions d'entrée avec ignorer le résultat et `VariableCheck` la règle (console)
<a name="stage-conditions-entry-skip"></a>

Vous pouvez configurer les conditions d'entrée pour une étape de telle sorte que si la condition d'entrée n'est pas remplie, l'étape soit ignorée. Si la condition échoue, le résultat s'active et l'étape est ignorée. Lorsqu'une étape est ignorée, le statut de l'étape est **ignoré** et le statut de l'action est Non **exécutée**. Pour les considérations relatives aux conditions de scène associées aux résultats Skip, voir[Considérations relatives aux résultats configurés pour les conditions de scène](#stage-conditions-considerations).

Dans l'exemple suivant, la règle de vérification des variables détecte que la valeur ne correspond pas et l'étape de construction est ignorée.

**Configuration d'une condition d'entrée avec un résultat **Ignorer** (console)**

1. Remplissez tous les prérequis, tels que la création de la ressource et de l'ARN pour une règle dans laquelle une ressource est fournie, telle que le **AWS CloudWatchAlarm**.

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Les noms et le statut de tous les pipelines associés à votre pipeline Compte AWS sont affichés.

1. Dans **Name**, choisissez le nom du pipeline que vous souhaitez modifier.

1. Sur la page des détails du pipeline, choisissez **Edit**.

1. Sur la page **Modifier**, pour l'action que vous souhaitez modifier, choisissez **Modifier l'étape**.

1. Choisissez **Ajouter une condition de saisie**, puis choisissez **Ignorer** comme résultat.

1. Choisissez **Ajouter une règle**, puis effectuez les opérations suivantes.

   1. Dans **Nom de la règle**, entrez le nom de votre règle. Pour cet exemple, entrez `MyAlarmRule`.

   1. Dans **Fournisseur de règles**, choisissez le fournisseur de règles préconfiguré à ajouter à votre condition. Pour cet exemple, choisissez **VariableCheck**, puis effectuez les étapes suivantes.  
![\[Exemple de processus de publication utilisant CodePipeline.\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/stage-cond-fail-skip.png)

   1. Dans **Région**, choisissez la région correspondant à votre état ou conservez la région par défaut.

   1. Dans **Variable**, choisissez la variable à comparer, par exemple `#{SourceVariables.FullRepositoryName}` pour un pipeline comportant une action source GitHub (via GitHub App). Entrez le nom du référentiel et choisissez l'opérateur, tel que **Equals**.

   1. Lorsque vous avez terminé de modifier la scène, choisissez **OK**. Sur la page de modification du pipeline, choisissez **Enregistrer**.

1. Après l'exécution, visualisez le résultat.  
![\[Exemple de processus de publication utilisant CodePipeline.\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/stage-skipped.png)

1. Pour consulter les détails, choisissez **Réviser**. Le détail de l'exemple suivant montre que le résultat configuré pour la condition est **Skip**, qui ne peut pas être remplacé. Le statut de la règle est **Échoué** car la condition n'est pas remplie.  
![\[Exemple de page détaillée de la condition montrant la condition de résultat Ignorer dans CodePipeline.\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/condition-exec-details.png)

### Création de conditions d'entrée (CLI)
<a name="stage-conditions-entry-cli"></a>

 AWS CLI Pour configurer une condition d'entrée, utilisez les commandes pour créer ou mettre à jour un pipeline, comme indiqué dans [Création d'un pipeline, d'étapes et d'actions](pipelines-create.md) et[Modifier un pipeline dans CodePipeline](pipelines-edit.md).

**Configuration de la condition et de la ou des règles (CLI)**
+ Ouvrez un terminal (Linux, macOS ou Unix) ou une invite de commande (Windows) et utilisez le AWS CLI pour exécuter la `update-pipeline` commande, en spécifiant la condition de défaillance dans la structure du pipeline. L'exemple suivant configure une condition d'entrée pour un stage nommé `Deploy` : 

  ```
  {
      "name": "Deploy",
      "actions": [
          {
              "name": "Deploy",
              "actionTypeId": {
                  "category": "Deploy",
                  "owner": "AWS",
                  "provider": "S3",
                  "version": "1"
              },
              "runOrder": 1,
              "configuration": {
                  "BucketName": "MyBucket",
                  "Extract": "false",
                  "ObjectKey": "object.xml"
              },
              "outputArtifacts": [],
              "inputArtifacts": [
                  {
                      "name": "SourceArtifact"
                  }
              ],
              "region": "us-east-1",
              "namespace": "DeployVariables"
          }
      ],
      "beforeEntry": {
          "conditions": [
              {
                  "result": "FAIL",
                  "rules": [
                      {
                          "name": "MyAlarmRule",
                          "ruleTypeId": {
                              "category": "Rule",
                              "owner": "AWS",
                              "provider": "CloudWatchAlarm",
                              "version": "1"
                          },
                          "configuration": {
                              "AlarmName": "CWAlarm",
                              "WaitTime": "1"
                          },
                          "inputArtifacts": [],
                          "region": "us-east-1"
                      }
                  ]
              }
          ]
      }
  }
  ```

  Pour plus d'informations sur la configuration des conditions de réussite pour l'annulation d'une étape, consultez [SuccessConditions](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_SuccessConditions.html)la *référence de l'CodePipeline API*.

### Création de conditions d'entrée (CFN)
<a name="stage-conditions-entry-cfn"></a>

À utiliser CloudFormation pour configurer une condition d'entrée, utilisez le `beforeEntry` paramètre. À l'entrée, l'étape exécutera la règle et exécutera le résultat.

```
beforeEntry:
     Result: FAIL
```
+ Mettez à jour le modèle comme indiqué dans l'extrait suivant. L'exemple suivant configure une condition d'entrée avec une règle nommée `MyMonitorRule` : 

  ```
  Name: Deploy
  Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: S3
      Version: '1'
    RunOrder: 1
    Configuration:
      BucketName: MyBucket
      Extract: 'false'
      ObjectKey: object.xml
    OutputArtifacts: []
    InputArtifacts:
    - Name: SourceArtifact
    Region: us-east-1
    Namespace: DeployVariables
  BeforeEntry:
    Conditions:
    - Result: FAIL
      Rules:
      - Name: MyMonitorRule
        RuleTypeId:
          Category: Rule
          Owner: AWS
          Provider: CloudWatchAlarm
          Version: '1'
        Configuration:
          AlarmName: CWAlarm
          WaitTime: '1'
        InputArtifacts: []
        Region: us-east-1
  ```

  Pour plus d'informations sur la configuration des conditions BeforeEntry, consultez [AWS::CodePipeline::Pipeline BeforeEntryConditions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-beforeentryconditions.html)le *Guide `StageDeclaration` de l'CloudFormation utilisateur ci-dessous*.

## Création de conditions en cas de défaillance
<a name="stage-conditions-onfailure"></a>

Vous pouvez configurer les conditions On Failure pour une étape à l'aide de la console ou de la CLI. Vous allez configurer les règles et les résultats correspondants pour chaque condition. Pour obtenir un résultat de restauration, le pipeline ne peut revenir à une exécution précédente que si celle-ci a été démarrée dans la version actuelle de la structure du pipeline.

### Création de conditions en cas de défaillance (console)
<a name="stage-conditions-onfailure-console"></a>

Vous pouvez configurer les conditions On Failure pour une étape, ainsi que les règles et les résultats que vous souhaitez que l'étape exécute lorsque les conditions sont remplies. 

**Configurer une condition en cas de défaillance (console)**

1. Remplissez tous les prérequis, tels que la création de la ressource et de l'ARN pour une règle dans laquelle une ressource est fournie, telle que la **LambdaInvoke**règle.

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Les noms et le statut de tous les pipelines associés à votre pipeline Compte AWS sont affichés. 

1. Dans **Name**, choisissez le nom du pipeline que vous souhaitez modifier.

1. Sur la page des détails du pipeline, choisissez **Edit**. 

1. Sur la page **Modifier**, pour l'action que vous souhaitez modifier, choisissez **Modifier l'étape**.

1. Choisissez **Ajouter une condition de défaillance**. La carte de **condition de défaillance** s'affiche avec **l'option Annulation** disponible pour cette condition.

1. Choisissez **Ajouter une règle**, puis effectuez les opérations suivantes.

   1. Dans **Nom de la règle**, entrez le nom de votre règle. Pour cet exemple, entrez `MyLambdaRule`.

   1. Dans **Fournisseur de règles**, choisissez le fournisseur de règles préconfiguré à ajouter à votre condition. Pour cet exemple, choisissez **AWS LambdaInvoke**, puis effectuez les étapes suivantes.

   1. Dans **Région**, choisissez la région correspondant à votre état ou conservez la région par défaut.

   1. Dans **Artefacts d'entrée**, choisissez l'artefact source.

   1. Dans **Nom de la fonction**, choisissez la ressource Lambda à utiliser pour la règle. Vous devez déjà avoir créé la ressource dans votre compte.

   1. (Facultatif) Dans **Paramètres utilisateur**, entrez les paires qui représentent des paramètres pour une configuration supplémentaire.

   1. (Facultatif) Dans **Role Arn**, entrez l'ARN du rôle s'il est configuré.

   1. (Facultatif) Dans **Délai d'expiration en minutes**, entrez le temps en minutes pendant lequel la règle doit attendre avant le délai d'expiration.

   1. Lorsque vous avez terminé de modifier la scène, choisissez **OK**. Sur la page de modification du pipeline, choisissez **Enregistrer**.

### Exemple de création de conditions OnFailure avec un résultat Retry (console)
<a name="w2aac36c27b7"></a>

Vous pouvez configurer les conditions OnFailure pour une étape de telle sorte que si la condition d'entrée n'est pas remplie, l'étape soit réessayée. Dans le cadre de ce résultat, vous configurez le mode de nouvelle tentative, en spécifiant s'il faut réessayer les actions ayant échoué ou réessayer l'étape ayant échoué.

**Configuration d'une condition OnFailure avec un résultat de nouvelle tentative (console)**

1. Remplissez tous les prérequis, tels que la création de la ressource et de l'ARN pour une règle dans laquelle une ressource est fournie, telle que le **AWS CloudWatchAlarm**.

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Les noms et le statut de tous les pipelines associés à votre pipeline Compte AWS sont affichés. 

1. Dans **Name**, choisissez le nom du pipeline que vous souhaitez modifier.

1. Sur la page des détails du pipeline, choisissez **Edit**. 

1. Sur la page **Modifier**, pour l'action que vous souhaitez modifier, choisissez **Modifier l'étape**.

1. Au bas de l'étape, sous **Configuration automatique de l'étape :**, choisissez **Activer la nouvelle tentative automatique en cas d'échec de l'étape**. En **mode Réessayer**, choisissez Réessayer l'**étape ayant échoué ou **Réessayer**** les actions ayant échoué.  
![\[Configuration du mode de nouvelle tentative pour une étape dans. CodePipeline\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/stage-retry-mode.png)

1. Choisissez d'ajouter une condition OnFailure, puis choisissez **Ajouter une règle** et entrez une règle pour la condition.

   1. Dans **Nom de la règle**, entrez le nom de votre règle. Pour cet exemple, entrez `MyAlarmRule`.

   1. Dans **Fournisseur de règles**, choisissez le fournisseur de règles préconfiguré à ajouter à votre condition. Pour cet exemple, choisissez **CloudWatchAlarm**, puis effectuez les étapes suivantes.

   1. Dans **Région**, choisissez la région correspondant à votre état ou conservez la région par défaut.

   1. Dans **Nom de l'alarme**, choisissez la ressource configurée pour l'alerte.

   1. Lorsque vous avez terminé de modifier la scène, choisissez **OK**. Sur la page de modification du pipeline, choisissez **Enregistrer**.

1. Après l'exécution, visualisez le résultat.

### Création de conditions en cas de défaillance (CLI)
<a name="stage-conditions-onfailure-cli"></a>

Pour utiliser la AWS CLI condition « En cas d'échec », utilisez les commandes pour créer ou mettre à jour un pipeline, comme indiqué dans [Création d'un pipeline, d'étapes et d'actions](pipelines-create.md) et[Modifier un pipeline dans CodePipeline](pipelines-edit.md).

**Configuration de la condition et de la ou des règles (CLI)**
+ Ouvrez un terminal (Linux, macOS ou Unix) ou une invite de commande (Windows) et utilisez le AWS CLI pour exécuter la `update-pipeline` commande, en spécifiant la condition de défaillance dans la structure du pipeline. L'exemple suivant configure une condition On Failure pour un stage nommé `Deploy` : 

  ```
  {
      "name": "Deploy",
      "actions": [
          {
              "name": "Deploy",
              "actionTypeId": {
                  "category": "Deploy",
                  "owner": "AWS",
                  "provider": "S3",
                  "version": "1"
              },
              "runOrder": 1,
              "configuration": {
                  "BucketName": "MyBucket",
                  "Extract": "false",
                  "ObjectKey": "object.xml"
              },
              "outputArtifacts": [],
              "inputArtifacts": [
                  {
                      "name": "SourceArtifact"
                  }
              ],
              "region": "us-east-1",
              "namespace": "DeployVariables"
          }
      ],
      "onFailure": {
          "conditions": [
              {
                  "result": "ROLLBACK",
                  "rules": [
                      {
                          "name": "MyLambdaRule",
                          "ruleTypeId": {
                              "category": "Rule",
                              "owner": "AWS",
                              "provider": "LambdaInvoke",
                              "version": "1"
                          },
                          "configuration": {
                              "FunctionName": "my-function"
                          },
                          "inputArtifacts": [
                              {
                                  "name": "SourceArtifact"
                              }
                          ],
                          "region": "us-east-1"
                      }
                  ]
              }
          ]
      }
  }
  ```

  Pour plus d'informations sur la configuration des conditions de défaillance, consultez [FailureConditions](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_FailureConditions.html)la *référence de l'CodePipeline API*.

### Création de conditions en cas de défaillance (CFN)
<a name="stage-conditions-onfailure-cfn"></a>

À utiliser CloudFormation pour configurer une condition en cas d'échec, utilisez le `OnFailure` paramètre. En cas de succès, l'étape exécutera la règle et exécutera le résultat.

```
OnFailure:
     Result: ROLLBACK
```
+ Mettez à jour le modèle comme indiqué dans l'extrait suivant. L'exemple suivant configure une OnFailure condition avec une règle nommée `MyMonitorRule` : 

  ```
  name: Deploy
  actions:
  - name: Deploy
    actionTypeId:
      category: Deploy
      owner: AWS
      provider: S3
      version: '1'
    runOrder: 1
    configuration:
      BucketName: MyBucket
      Extract: 'false'
      ObjectKey: object.xml
    outputArtifacts: []
    inputArtifacts:
    - name: SourceArtifact
    region: us-east-1
    namespace: DeployVariables
  OnFailure:
    conditions:
    - result: ROLLBACK
      rules:
      - name: MyMonitorRule
        ruleTypeId:
          category: Rule
          owner: AWS
          provider: CloudWatchAlarm
          version: '1'
        configuration:
          AlarmName: AlarmOnHelloWorldInvocation
          AlarmStates: ALARM
          WaitTime: '1'
        inputArtifacts: []
        region: us-east-1
  ```

  Pour plus d'informations sur la configuration des conditions de défaillance, voir [OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stagedeclaration.html#cfn-codepipeline-pipeline-stagedeclaration-onfailure)`StageDeclaration`le *Guide de l'CloudFormation utilisateur ci-dessous*.

## Conditions de création en cas de réussite
<a name="stage-conditions-onsuccess"></a>

Vous pouvez configurer les conditions On Success pour une étape à l'aide de la console ou de la CLI. Vous allez configurer les règles et les résultats correspondants pour chaque condition. Pour obtenir un résultat de restauration, le pipeline ne peut revenir à une exécution précédente que si celle-ci a été démarrée dans la version actuelle de la structure du pipeline.

Les étapes fournissent un exemple de condition En cas de réussite qui utilise une règle de fenêtre de déploiement.

Pour plus d'informations, consultez [Condition [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html)](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html), et [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)dans le *guide de l'CodePipeline API*.

### Conditions de création en cas de réussite (console)
<a name="stage-conditions-onsuccess-console"></a>

Vous pouvez configurer les conditions On Success pour une étape, ainsi que les règles et les résultats que vous souhaitez que l'étape exécute lorsque les conditions sont remplies. 

**Configurer une condition « En cas de réussite » (console)**

1. Remplissez tous les prérequis, tels que la création de la ressource et de l'ARN pour une règle dans laquelle une ressource est fournie, telle que le AWS LambdaRule.

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Les noms et le statut de tous les pipelines associés à votre pipeline Compte AWS sont affichés. 

1. Dans **Name**, choisissez le nom du pipeline que vous souhaitez modifier.

1. Sur la page des détails du pipeline, choisissez **Edit**. 

1. Sur la page **Modifier**, pour l'action que vous souhaitez modifier, choisissez **Modifier l'étape**.

1. Choisissez **Ajouter une condition de réussite**. La carte **des conditions de réussite sur scène** s'affiche. Choisissez l'**option Annulation** ou **Echec** comme résultat disponible pour ce type de condition. 

1. Choisissez **Ajouter une règle**, puis effectuez les opérations suivantes.

   1. Dans **Nom de la règle**, entrez le nom de votre condition. Pour cet exemple, entrez `MyDeploymentRule`.

   1. Dans **Fournisseur de règles**, choisissez la règle préconfigurée à ajouter à votre condition. Pour cet exemple, choisissez **AWS DeploymentWindow**, puis effectuez les étapes suivantes.

   1. Dans **Région**, choisissez la région correspondant à votre état ou conservez la région par défaut.

   1. Dans **Cron**, entrez l'expression cron pour la fenêtre de déploiement. L'expression cron définit les jours et heures auxquels le déploiement doit être autorisé. Pour des informations de référence sur les expressions cron, consultez la section [Utilisation des expressions cron et rate pour planifier les règles](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html#eb-cron-expressions).

   1. (Facultatif) Dans **TimeZone**, entrez le fuseau horaire de la fenêtre de déploiement.

1. Après l'exécution, visualisez le résultat.  
![\[Exemple de condition dans CodePipeline.\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/stage-condition-onsuccess-deplwin-example-message.png)

### Création de conditions en cas de réussite (CLI)
<a name="stage-conditions-onsuccess-cli"></a>

Pour utiliser la AWS CLI condition « En cas de réussite », utilisez les commandes pour créer ou mettre à jour un pipeline, comme indiqué dans [Création d'un pipeline, d'étapes et d'actions](pipelines-create.md) et[Modifier un pipeline dans CodePipeline](pipelines-edit.md).

**Configuration de la condition et de la ou des règles (CLI)**
+ Ouvrez un terminal (Linux, macOS ou Unix) ou une invite de commande (Windows) et utilisez le AWS CLI pour exécuter la `update-pipeline` commande, en spécifiant la condition de défaillance dans la structure du pipeline. L'exemple suivant configure une condition On Success pour une étape nommée`Deploy`, où la règle est nommée `MyDeploymentRule` : 

  ```
  {
      "name": "Deploy",
      "actions": [
          {
              "name": "Deploy",
              "actionTypeId": {
                  "category": "Deploy",
                  "owner": "AWS",
                  "provider": "S3",
                  "version": "1"
              },
              "runOrder": 1,
              "configuration": {
                  "BucketName": "MyBucket",
                  "Extract": "false",
                  "ObjectKey": "object.xml"
              },
              "outputArtifacts": [],
              "inputArtifacts": [
                  {
                      "name": "SourceArtifact"
                  }
              ],
              "region": "us-east-1",
              "namespace": "DeployVariables"
          }
      ],
      "onSuccess": {
         "conditions": [
              {
                  "result": "FAIL",
                  "rules": [
                      {
                          "name": "MyAlarmRule",
                          "ruleTypeId": {
                              "category": "Rule",
                              "owner": "AWS",
                              "provider": "CloudWatchAlarm",
                              "version": "1"
                          },
                          "configuration": {
                              "AlarmName": "CWAlarm",
                              "WaitTime": "1"
                          },
                          "inputArtifacts": [],
                          "region": "us-east-1"
                      }
                  ]
              }
          ]
      }
  }
  ```

  Pour plus d'informations sur la configuration des conditions de réussite, consultez [SuccessConditions](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_SuccessConditions.html)la *référence des CodePipeline API*.

### Création d'une condition de réussite (CFN)
<a name="stage-conditions-onsuccess-cfn"></a>

 CloudFormation Pour configurer une condition On Success, utilisez le `OnSuccess` paramètre. En cas de succès, l'étape exécutera la règle et exécutera le résultat.

```
OnSuccess:
     Result: ROLLBACK
```
+ Mettez à jour le modèle comme indiqué dans l'extrait suivant. L'exemple suivant configure une OnSuccess condition avec une règle nommée `MyDeploymentWindowRule` : 

  ```
  name: Deploy
  actions:
  - name: Deploy
    actionTypeId:
      category: Deploy
      owner: AWS
      provider: S3
      version: '1'
    runOrder: 1
    configuration:
      BucketName: MyBucket
      Extract: 'false'
      ObjectKey: object.xml
    outputArtifacts: []
    inputArtifacts:
    - name: SourceArtifact
    region: us-east-1
    namespace: DeployVariables
  onSuccess:
     conditions:
    - result: FAIL
      rules:
      - name: MyMonitorRule
        ruleTypeId:
          category: Rule
          owner: AWS
          provider: CloudWatchAlarm
          version: '1'
        configuration:
          AlarmName: CWAlarm
          WaitTime: '1'
        inputArtifacts: []
        region: us-east-1
  ```

  Pour plus d'informations sur la configuration des conditions de défaillance pour la restauration par étapes, voir [OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stagedeclaration.html#cfn-codepipeline-pipeline-stagedeclaration-onfailure)le *Guide `StageDeclaration` de l'CloudFormation utilisateur ci-dessous*.

## Supprimer les conditions d'une étape
<a name="stage-conditions-delete"></a>

Vous pouvez supprimer les conditions d'étape qui ont été configurées pour votre pipeline.

**Pour supprimer une condition d'étape**

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Les noms et le statut de tous les pipelines associés à votre pipeline Compte AWS sont affichés. 

1. Dans **Name**, choisissez le nom du pipeline que vous souhaitez modifier.

1. Sur la page des détails du pipeline, choisissez **Edit**. 

1. Sur la page **Modifier**, pour la condition que vous souhaitez modifier, choisissez **Modifier l'étape**.

1. À côté de la condition que vous souhaitez supprimer, choisissez **Supprimer la condition**.

## Conditions de scène prioritaires
<a name="stage-conditions-override"></a>

Vous pouvez remplacer les conditions d'étape qui ont été configurées pour votre pipeline. Dans la console, lorsque l'étape et la règle sont en cours d'exécution, vous pouvez choisir de remplacer la condition de l'étape. Cela se traduit par le déroulement de la scène 

**Pour annuler une condition d'étape**

1. Dans cet exemple, l'étape du pipeline est exécutée avec une condition. Le bouton **Override** est activé.  
![\[Exemple de condition dans CodePipeline.\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/stage-condition-override-depl.png)

1. À côté de la condition que vous souhaitez annuler, choisissez **Remplacer**.  
![\[Exemple de condition dans CodePipeline.\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/stage-condition-override-depl-overridden.png)

1. Pour consulter les détails, choisissez **Réviser**. Le détail de l'exemple suivant montre que le résultat configuré pour la condition est Fail, qui a été remplacé. Le statut de la règle est abandonné en raison de la dérogation.  
![\[Exemple de page détaillée d'une condition indiquant la condition remplacée dans. CodePipeline\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/stage-condition-onsuccess-deplwin-example-message-review.png)