

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar condições para um estágio
<a name="stage-conditions"></a>

Você pode especificar uma condição para um estágio, como verificar uma variável específica na execução do pipeline e, em seguida, incluir um resultado para a condição, como pular ou reprovar o estágio. Um pipeline pode ser configurado para verificar as condições do estágio durante a execução ao especificar as verificações de um estágio e, em seguida, especifica como o estágio deve continuar quando determinadas condições forem atendidas. As condições contêm uma ou mais regras que estão disponíveis em uma lista de regras em CodePipeline. Se todas as regras em uma condição forem bem-sucedidas, a condição será atendida. É possível definir condições para que, caso os critérios não sejam cumpridos, o resultado especificado seja ativado.

Toda condição contém um conjunto estruturado de regras, organizadas em uma ordem específica e avaliadas simultaneamente. Portanto, se uma regra falhar na condição, a condição falhará. Você pode substituir as condições da regra no runtime do pipeline.

As condições são usadas para tipos específicos de expressões e cada uma tem opções específicas para resultados disponíveis da seguinte forma: 
+ **Entrada**: as condições para fazer verificações que, se atendidas, permitem a entrada em um estágio. As regras são usadas com as seguintes opções de resultado: **Falhar** ou **Ignorar**
+ **Em caso de falha**: as condições para fazer verificações para o estágio em que ela falha. As regras estão envolvidas com a seguinte opção de resultado: **Reversão**
+ **Bem-sucedido**: as condições para fazer verificações para o estágio em que for bem-sucedida. As regras são envolvidas com as seguintes opções de resultado: **Reversão** ou **Falha**

As condições são compatível com um conjunto de *regras* para cada tipo de condição. 

Para cada tipo de condição, há ações específicas configuradas pela condição. A ação é o resultado da verificação de condição bem-sucedida ou com falha. Por exemplo, a condição de entrada (condição de entrada) encontra um alarme (regra), então a verificação é bem-sucedida e o resultado (ação) é que a entrada do estágio está bloqueada.

Você também pode usar o AWS CodePipeline console ou o AWS CLI para reverter manualmente ou repetir um estágio ou ações em um estágio. Consulte [Configurar condições para um estágio](#stage-conditions).

**Topics**
+ [Casos de uso de condições de estágio](#stage-conditions-cases)
+ [Considerações sobre resultados configurados para condições de estágio](#stage-conditions-considerations)
+ [Considerações sobre regras configuradas para condições de estágio](#stage-conditions-considerations-rules)
+ [Criar condições de entrada](#stage-conditions-entry)
+ [Criar condições “em caso de falha”](#stage-conditions-onfailure)
+ [Criar condições “em caso de sucesso”](#stage-conditions-onsuccess)
+ [Excluir condições de estágio](#stage-conditions-delete)
+ [Condições de estágio de substituição](#stage-conditions-override)

## Casos de uso de condições de estágio
<a name="stage-conditions-cases"></a>

As condições de estágio têm vários casos de uso para configurar a segurança de liberação e alteração em pipelines. A seguir estão alguns exemplos de casos de uso para condições de estágio.
+ Use uma condição de entrada para definir uma condição que verificará o estado do CloudWatch alarme, o que bloqueará uma alteração se o ambiente de produção não estiver em um estado saudável.
+ Use uma condição de entrada com um tempo de espera de 60 para definir uma condição a ser avaliada quando todas as ações em um estágio forem concluídas com êxito e, em seguida, reverta as alterações se um CloudWatch alarme entrar no estado ALARME em 60 minutos.
+ Configure uma condição “em caso de sucesso” para garantir que, ao concluir um estágio com êxito, seja verificado se o horário atual está dentro da janela de implantação, procedendo com a implantação somente se a condição for atendida.

## Considerações sobre resultados configurados para condições de estágio
<a name="stage-conditions-considerations"></a>

As considerações sobre as condições do palco são as seguintes:
+ Não é possível usar a repetição automática de estágio com condições onFailure.
+ Ao configurar uma condição com um resultado **Reversão**, o estágio só pode reverter para uma execução anterior se disponível na versão atual da estrutura do pipeline.
+ Ao configurar uma condição com um resultado **Reversão**, você não pode reverter para um ID de execução de destino que seja do tipo de execução de reversão.
+ Para condições de entrada que usam o resultado **Ignorar** para ignorar o estágio se a condição falhar, somente as regras `LambdaInvoke` e `VariableCheck` são compatíveis.
+ Não é possível executar uma nova tentativa manual de estágio em um estágio com status **Ignorado**.
+ Não é possível executar uma reversão manual para um estágio no status **Ignorado**.
+ Não é possível substituir uma condição se ela estiver configurada com um resultado **Ignorar**.
+ Com exceção dos resultados **Ignorar**, você pode substituir uma condição de estágio ao iniciar uma execução de pipeline. Em uma condição de estágio em que uma substituição é ativada, a execução será realizada conforme detalhado na tabela a seguir.
+   
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/stage-conditions.html)

## Considerações sobre regras configuradas para condições de estágio
<a name="stage-conditions-considerations-rules"></a>

As considerações sobre as regras disponíveis para condições de estágio são as seguintes:
+ Na regra `LambdaInvoke`, você deve primeiro configurar a função do Lambda a ser usada na regra. Tenha o ARN da função do Lambda pronto para ser fornecido ao configurar a regra. 
+ Para a `CloudWatchAlarm` regra, você deve primeiro configurar o evento CloudWatch Events a ser usado na regra. Tenha o ARN do evento pronto para ser fornecido ao configurar a regra.

## Criar condições de entrada
<a name="stage-conditions-entry"></a>

Você pode configurar condições de entrada para um estágio usando o console ou a CLI. Você configurará as regras e os resultados correspondentes para cada condição. Em um resultado de reversão, o pipeline só poderá retornar a uma execução anterior se ela tiver sido iniciada na versão atual da estrutura do pipeline.

As etapas fornecem um exemplo de condição de entrada que usa uma regra de monitor.

Para obter mais informações, consulte [Condição [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html)](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html), e [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)no *Guia CodePipeline da API*.

### Criação de condições de entrada - exemplo de CloudWatchAlarm regra (console)
<a name="stage-conditions-entry-console"></a>

Você pode configurar condições de entrada para um estágio com as regras e os resultados que você deseja que o estágio execute quando as condições forem atendidas. 

**Configurar uma condição Entrada (console)**

1. Preencha todos os pré-requisitos, como criar o recurso e o ARN para uma regra em que um recurso é fornecido, como o. **AWS CloudWatchAlarm**

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Os nomes e status de todos os pipelines vinculados à sua Conta da AWS são exibidos. 

1. Em **Nome**, selecione o nome do pipeline que você deseja editar.

1. Na página de detalhes do pipeline, selecione **Editar**. 

1. Na página **Editar**, para a ação que você deseja editar, escolha **Editar estágio**.

1. Selecione **Adicionar condição de entrada**. O cartão de **Condição de entrada antes do estágio** é exibido com a opção **Falha** disponível para essa condição.

1. Selecione **Adicionar regra** e faça o seguinte.

   1. Em **Nome da regra**, insira um nome para a regra. Neste exemplo, insira `MyAlarmRule`.

   1. Em **Provedor de regras**, escolha o provedor de regras pré-configurado para adicionar à condição. Para este exemplo, escolha e **AWS CloudWatchAlarm**, em seguida, conclua as etapas a seguir.

   1. Em **Região**, escolha a Região para a condição ou deixe o padrão.

   1. Em **Nome do alarme**, escolha o CloudWatch recurso a ser usado para a regra. Você já deve ter criado o recurso na conta.

   1. (Opcional) Em **Tempo de espera**, insira a quantidade de tempo de CodePipeline espera se o alarme estiver no estado ALARME quando for avaliado pela primeira vez. Se o alarme estiver no estado OK quando a regra for verificada pela primeira vez, a regra será imediatamente bem-sucedida.

   1. (Opcional) Insira o estado de alarme específico para monitorar e insira o ARN do perfil, se apropriado.

   1. Ao concluir a edição do cenário, selecione **Concluído**. Na página de edição do pipeline, selecione **Salvar**.

1. Após a execução, veja o resultado.

### Criar condições de entrada com resultado Ignorar e regra `VariableCheck` (console)
<a name="stage-conditions-entry-skip"></a>

Você pode configurar condições de entrada para que um estágio seja ignorado se a condição de entrada não for atendida. Se a condição falhar, o resultado será ativado e o estágio será ignorado. Quando um estágio é ignorado, o status do estágio é **Ignorado** e o status da ação é **Não executado**. Em considerações sobre condições de estágio com resultados Ignorar, consulte [Considerações sobre resultados configurados para condições de estágio](#stage-conditions-considerations).

No exemplo a seguir, a regra de verificação de variável descobre que o valor não é uma correspondência e o estágio de compilação é ignorado.

**Configurar uma condição de entrada com um resultado **Ignorar** (console)**

1. Preencha todos os pré-requisitos, como criar o recurso e o ARN para uma regra em que um recurso é fornecido, como o. **AWS CloudWatchAlarm**

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Os nomes e status de todos os pipelines vinculados à sua Conta da AWS são exibidos.

1. Em **Nome**, selecione o nome do pipeline que você deseja editar.

1. Na página de detalhes do pipeline, selecione **Editar**.

1. Na página **Editar**, para a ação que você deseja editar, escolha **Editar estágio**.

1. Selecione **Adicionar condição de entrada** e, em seguida, escolha **Ignorar** como resultado.

1. Selecione **Adicionar regra** e faça o seguinte.

   1. Em **Nome da regra**, insira um nome para a regra. Neste exemplo, insira `MyAlarmRule`.

   1. Em **Provedor de regras**, escolha o provedor de regras pré-configurado para adicionar à condição. Para este exemplo, escolha e **VariableCheck**, em seguida, conclua as etapas a seguir.  
![Um exemplo de processo de lançamento usando CodePipeline.](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/stage-cond-fail-skip.png)

   1. Em **Região**, escolha a Região para a condição ou deixe o padrão.

   1. Em **Variável**, escolha a variável com a qual comparar, como `#{SourceVariables.FullRepositoryName}` para um pipeline que tem uma ação de origem GitHub (via GitHub aplicativo). Insira o nome do repositório e escolha o operador, como **Equals**.

   1. Ao concluir a edição do cenário, selecione **Concluído**. Na página de edição do pipeline, selecione **Salvar**.

1. Após a execução, veja o resultado.  
![Um exemplo de processo de lançamento usando CodePipeline.](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/stage-skipped.png)

1. Para analisar os detalhes, selecione **Revisar**. O detalhe no exemplo a seguir mostra que o resultado configurado para a condição é **Ignorar**, que não pode ser substituído. O status da regra é **Falha** porque a condição não foi atendida.  
![Um exemplo de página de detalhes da condição mostrando a condição Ignorar resultado em CodePipeline.](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/condition-exec-details.png)

### Criar condições de entrada (CLI)
<a name="stage-conditions-entry-cli"></a>

Para usar o AWS CLI para configurar uma condição de entrada, use os comandos para criar ou atualizar um pipeline conforme detalhado em [Criar um pipeline, estágios e ações](pipelines-create.md) [Editar um pipeline no CodePipeline](pipelines-edit.md) e.

**Configurar a condição e as regras (CLI)**
+ Abra um terminal (Linux, macOS ou Unix) ou prompt de comando (Windows) e use o AWS CLI para executar o comando `update-pipeline`, especificando a condição de falha na estrutura do pipeline. O exemplo a seguir configura uma condição de entrada para um estágio chamado `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"
                      }
                  ]
              }
          ]
      }}}
  }
  ```

  *Para obter mais informações sobre como configurar condições de sucesso para reversão de estágio, consulte a Referência da [SuccessConditions](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_SuccessConditions.html)CodePipeline API.*

### Criar condições de entrada (CFN)
<a name="stage-conditions-entry-cfn"></a>

Para usar CloudFormation para configurar uma condição de entrada, use o `beforeEntry` parâmetro. Na entrada, o palco executará a regra e executará o resultado.

```
beforeEntry:
     Result: FAIL
```
+ Atualize o modelo conforme mostrado no snippet a seguir. O exemplo a seguir configura uma condição de entrada com uma regra chamada `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
  ```

  Para obter mais informações sobre como configurar as condições BeforeEntry, consulte [AWS::CodePipeline::Pipeline BeforeEntryConditions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-beforeentryconditions.html)abaixo `StageDeclaration` no Guia do *CloudFormation usuário*.

## Criar condições “em caso de falha”
<a name="stage-conditions-onfailure"></a>

Você pode configurar condições “em caso de falha” para um estágio usando o console ou a CLI. Você configurará as regras e os resultados correspondentes para cada condição. Em um resultado de reversão, o pipeline só poderá retornar a uma execução anterior se ela tiver sido iniciada na versão atual da estrutura do pipeline.

### Criar condições “em caso de falha” (console)
<a name="stage-conditions-onfailure-console"></a>

Você pode configurar condições “em caso de falha” para um estágio com as regras e os resultados que você deseja que o estágio execute quando as condições forem atendidas. 

**Configurar uma condição “em caso de falha” (console)**

1. Preencha todos os pré-requisitos, como criar o recurso e o ARN para uma regra em que um recurso é fornecido, como a regra. **LambdaInvoke**

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Os nomes e status de todos os pipelines vinculados à sua Conta da AWS são exibidos. 

1. Em **Nome**, selecione o nome do pipeline que você deseja editar.

1. Na página de detalhes do pipeline, selecione **Editar**. 

1. Na página **Editar**, para a ação que você deseja editar, escolha **Editar estágio**.

1. Selecione **Adicionar condição de falha**. O cartão de **Condição de falha** é exibido com a opção **Reverter** disponível para essa condição.

1. Selecione **Adicionar regra** e faça o seguinte.

   1. Em **Nome da regra**, insira um nome para a regra. Neste exemplo, insira `MyLambdaRule`.

   1. Em **Provedor de regras**, escolha o provedor de regras pré-configurado para adicionar à condição. Para este exemplo, escolha e **AWS LambdaInvoke**, em seguida, conclua as etapas a seguir.

   1. Em **Região**, escolha a Região para a condição ou deixe o padrão.

   1. Em **Artefatos de entrada**, escolha o artefato de criação.

   1. Em **Nome da função**, escolha o recurso Lambda a ser usado para a regra. Você já deve ter criado o recurso na conta.

   1. (Opcional) Em **Parâmetros do usuário**, insira os pares que representem parâmetros para configuração adicional.

   1. (Opcional) Em **ARN do perfil**, insira o ARN do perfil, se configurado.

   1. (Opcional) Em **Tempo limite em minutos**, insira o tempo em minutos que a regra deve esperar antes do tempo limite.

   1. Ao concluir a edição do cenário, selecione **Concluído**. Na página de edição do pipeline, selecione **Salvar**.

### Criar condições onFailure com um exemplo de resultado de repetição (console)
<a name="w2aac36c27b7"></a>

É possível configurar condições onFailure para um estágio, permitindo que ele seja reexecutado caso a condição de entrada não seja satisfeita. Como parte desse resultado, você configura o modo de repetição, especificando se deseja repetir as ações com falha ou repetir o estágio com falha.

**Configurar uma condição onFailure com um resultado de repetição (console)**

1. Preencha todos os pré-requisitos, como criar o recurso e o ARN para uma regra em que um recurso é fornecido, como o. **AWS CloudWatchAlarm**

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Os nomes e status de todos os pipelines vinculados à sua Conta da AWS são exibidos. 

1. Em **Nome**, selecione o nome do pipeline que você deseja editar.

1. Na página de detalhes do pipeline, selecione **Editar**. 

1. Na página **Editar**, para a ação que você deseja editar, escolha **Editar estágio**.

1. Na parte inferior do estágio, em **Configuração de etapa automatizada:**, escolha **Habilitar nova tentativa automática em caso de falha na etapa**. Em **Modo Repetir**, escolha **Repetir estágio com falha** ou **Repetir ações com falha**.  
![Configurando o modo de repetição para um estágio em. CodePipeline](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/stage-retry-mode.png)

1. Escolha adicionar uma condição onFailure, depois selecione **Adicionar regra** e insira uma regra para a condição.

   1. Em **Nome da regra**, insira um nome para a regra. Neste exemplo, insira `MyAlarmRule`.

   1. Em **Provedor de regras**, escolha o provedor de regras pré-configurado para adicionar à condição. Para este exemplo, escolha e **CloudWatchAlarm**, em seguida, conclua as etapas a seguir.

   1. Em **Região**, escolha a Região para a condição ou deixe o padrão.

   1. Em **Nome do alarme**, escolha o recurso configurado para o alerta.

   1. Ao concluir a edição do cenário, selecione **Concluído**. Na página de edição do pipeline, selecione **Salvar**.

1. Após a execução, veja o resultado.

### Criar condições “em caso de falha” (CLI)
<a name="stage-conditions-onfailure-cli"></a>

Para usar o AWS CLI para configurar uma condição de On Failure, use os comandos para criar ou atualizar um pipeline conforme detalhado em [Criar um pipeline, estágios e ações](pipelines-create.md) [Editar um pipeline no CodePipeline](pipelines-edit.md) e.

**Configurar a condição e as regras (CLI)**
+ Abra um terminal (Linux, macOS ou Unix) ou prompt de comando (Windows) e use o AWS CLI para executar o comando `update-pipeline`, especificando a condição de falha na estrutura do pipeline. O exemplo a seguir configura uma condição “em caso de falha” para um estágio chamado `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"
                      }
                  ]
              }
          ]
      }}}
  }
  ```

  Para obter mais informações sobre como configurar condições de falha, consulte [FailureConditions](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_FailureConditions.html)a *Referência da CodePipeline API*.

### Criar condições “em caso de falha” (CFN)
<a name="stage-conditions-onfailure-cfn"></a>

Para usar CloudFormation para configurar uma condição de On Failure, use o `OnFailure` parâmetro. Em caso de sucesso, o estágio executará a regra e executará o resultado.

```
OnFailure:
     Result: ROLLBACK
```
+ Atualize o modelo conforme mostrado no snippet a seguir. O exemplo a seguir configura uma OnFailure condição com uma regra chamada`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
  ```

  Para obter mais informações sobre como configurar condições de falha, consulte [OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stagedeclaration.html#cfn-codepipeline-pipeline-stagedeclaration-onfailure)abaixo `StageDeclaration` no *Guia do CloudFormation usuário*.

## Criar condições “em caso de sucesso”
<a name="stage-conditions-onsuccess"></a>

Você pode configurar condições “em caso de sucesso” para um estágio usando o console ou a CLI. Você configurará as regras e os resultados correspondentes para cada condição. Em um resultado de reversão, o pipeline só poderá retornar a uma execução anterior se ela tiver sido iniciada na versão atual da estrutura do pipeline.

Os estágios fornecem um exemplo de condição “em caso de sucesso” que usa uma regra de janela de implantação.

Para obter mais informações, consulte [Condição [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html)](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html), e [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)no *Guia CodePipeline da API*.

### Criar condições “em caso de sucesso” (console)
<a name="stage-conditions-onsuccess-console"></a>

Você pode configurar condições “em caso de sucesso” para um estágio com as regras e os resultados que você deseja que o estágio execute quando as condições forem atendidas. 

**Configurar uma condição “em caso de sucesso” (console)**

1. Preencha todos os pré-requisitos, como criar o recurso e o ARN para uma regra em que um recurso é fornecido, como o. AWS LambdaRule

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Os nomes e status de todos os pipelines vinculados à sua Conta da AWS são exibidos. 

1. Em **Nome**, selecione o nome do pipeline que você deseja editar.

1. Na página de detalhes do pipeline, selecione **Editar**. 

1. Na página **Editar**, para a ação que você deseja editar, escolha **Editar estágio**.

1. Selecione **Adicionar condição de êxito**. O cartão de **Condição de sucesso no estágio** é exibido. Selecione a opção **Reversão** ou **Falha** exibida como os resultados disponíveis para esse tipo de condição. 

1. Selecione **Adicionar regra** e faça o seguinte.

   1. Em **Nome da regra**, insira um nome para a condição. Neste exemplo, insira `MyDeploymentRule`.

   1. Em **Provedor de regras**, selecione a regra pré-configurada para adicionar à condição. Para este exemplo, escolha e **AWS DeploymentWindow**, em seguida, conclua as etapas a seguir.

   1. Em **Região**, escolha a Região para a condição ou deixe o padrão.

   1. Em **Cron**, insira a expressão cron para a janela de implantação. A expressão cron define os dias e horários em que a implantação deve ser permitida. Para ter informações de referência sobre expressões cron, consulte [Using cron and rate expressions to schedule rules](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html#eb-cron-expressions).

   1. (Opcional) Em **TimeZone**, insira o fuso horário da janela de implantação.

1. Após a execução, veja o resultado.  
![Um exemplo de condição em CodePipeline.](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/stage-condition-onsuccess-deplwin-example-message.png)

### Criar condições “em caso de sucesso” (CLI)
<a name="stage-conditions-onsuccess-cli"></a>

Para usar o AWS CLI para configurar uma condição On Success, use os comandos para criar ou atualizar um pipeline conforme detalhado em [Criar um pipeline, estágios e ações](pipelines-create.md) [Editar um pipeline no CodePipeline](pipelines-edit.md) e.

**Configurar a condição e as regras (CLI)**
+ Abra um terminal (Linux, macOS ou Unix) ou prompt de comando (Windows) e use o AWS CLI para executar o comando `update-pipeline`, especificando a condição de falha na estrutura do pipeline. O exemplo a seguir configura uma condição “em caso de sucesso” para um estágio chamado `Deploy`, em que a regra é chamada `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"
                      }
                  ]
              }
          ]
      }
  }}}
  ```

  Para obter mais informações sobre como configurar condições de sucesso, consulte [SuccessConditions](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_SuccessConditions.html)a *Referência da CodePipeline API*.

### Criar uma condição “em caso de sucesso” (CFN)
<a name="stage-conditions-onsuccess-cfn"></a>

Para usar CloudFormation para configurar uma condição On Success, use o `OnSuccess` parâmetro. Em caso de sucesso, o estágio executará a regra e executará o resultado.

```
OnSuccess:
     Result: ROLLBACK
```
+ Atualize o modelo conforme mostrado no snippet a seguir. O exemplo a seguir configura uma OnSuccess condição com uma regra chamada`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
  }}
  ```

  *Para obter mais informações sobre como configurar condições de falha para reversão de estágio, consulte [OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stagedeclaration.html#cfn-codepipeline-pipeline-stagedeclaration-onfailure)abaixo `StageDeclaration` no Guia do CloudFormation usuário.*

## Excluir condições de estágio
<a name="stage-conditions-delete"></a>

Você pode excluir condições de estágio que foram configuradas para o pipeline.

**Como excluir uma condição de estágio**

1. Faça login no Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Os nomes e o status de todos os pipelines associados ao seu Conta da AWS são exibidos. 

1. Em **Nome**, selecione o nome do pipeline que você deseja editar.

1. Na página de detalhes do pipeline, selecione **Editar**. 

1. Na página **Editar**, para a condição que você deseja editar, escolha **Editar estágio**.

1. Ao lado da condição que você deseja excluir, selecione **Excluir condição**.

## Condições de estágio de substituição
<a name="stage-conditions-override"></a>

Você pode substituir as condições do estágio que foram configuradas para o pipeline. No console, quando o estágio e a regra estão em execução, você pode substituir a condição do estágio. Isso resulta na corrida de estágio 

**Como substituir uma condição de estágio**

1. Neste exemplo, o estágio do pipeline está sendo executado com uma condição. O botão **Substituir** está ativado.  
![Um exemplo de condição em CodePipeline.](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/stage-condition-override-depl.png)

1. Ao lado da condição que você deseja substituir, escolha **Substituir**.  
![Um exemplo de condição em CodePipeline.](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/stage-condition-override-depl-overridden.png)

1. Para analisar os detalhes, selecione **Revisar**. O detalhe no exemplo a seguir mostra que o resultado configurado para a condição é Falha, que foi substituído. O status da regra é Abandonado devido à substituição.  
![Um exemplo de página de detalhes da condição mostrando a condição substituída em. CodePipeline](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/stage-condition-onsuccess-deplwin-example-message-review.png)