

• O AWS Systems Manager CloudWatch Dashboard não estará mais disponível a partir de 30 de abril de 2026. Os clientes podem continuar usando o console do Amazon CloudWatch para visualizar, criar e gerenciar os painéis do Amazon CloudWatch exatamente como fazem hoje. Para obter mais informações, consulte a [documentação do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# `aws:branch` – Executa etapas de automação condicionais
<a name="automation-action-branch"></a>

A ação `aws:branch` permite que você crie uma automação dinâmica que avalia diferentes opções em uma única etapa e, em seguida, salta para outra etapa no runbook, com base nos resultados da avaliação. 

Quando você especifica a ação `aws:branch` para uma etapa, você especifica as `Choices` que a automação deve avaliar. As `Choices` podem ser baseadas no valor especificado na seção `Parameters` do runbook ou em um valor dinâmico gerado como saída da etapa anterior. A automação avalia cada opção usando uma expressão booleana. Se a primeira opção for verdadeira, a automação pulará para a etapa designada para essa opção. Se a primeira opção for falsa, a automação avaliará a próxima opção. A automação continua a avaliar cada opção até processar uma opção verdadeira. A automação pula para a etapa designada para a opção true (verdadeira).

Se nenhuma das opções for verdadeira, a automação verificará se a etapa contém um valor `default`. Um valor padrão define uma etapa para a qual a automação deve saltar se nenhuma das opções for verdadeira. Se nenhum valor `default` for especificado para a etapa, a automação processará a próxima etapa no runbook.

A ação `aws:branch` oferece suporte a avaliações de opções complexas usando uma combinação de operadores `And`, `Not` e `Or`. Para obter mais informações sobre como usar o `aws:branch`, incluindo runbooks de exemplo e exemplos que usam operadores diferentes, consulte [Uso de instruções condicionais em runbooks](automation-branch-condition.md).

**Input**  
Especifique uma ou mais `Choices` em uma etapa. As `Choices` podem ser baseadas no valor especificado na seção `Parameters` do runbook ou em um valor dinâmico gerado como saída da etapa anterior. Aqui está um exemplo de YAML que avalia um parâmetro.

```
mainSteps:
- name: chooseOS
  action: aws:branch
  inputs:
    Choices:
    - NextStep: runWindowsCommand
      Variable: "{{Name of a parameter defined in the Parameters section. For example: OS_name}}"
      StringEquals: windows
    - NextStep: runLinuxCommand
      Variable: "{{Name of a parameter defined in the Parameters section. For example: OS_name}}"
      StringEquals: linux
    Default:
      sleep3
```

Aqui está um exemplo de YAML que avalia a saída de uma etapa anterior.

```
mainSteps:
- name: chooseOS
  action: aws:branch
  inputs:
    Choices:
    - NextStep: runPowerShellCommand
      Variable: "{{Name of a response object. For example: GetInstance.platform}}"
      StringEquals: Windows
    - NextStep: runShellCommand
      Variable: "{{Name of a response object. For example: GetInstance.platform}}"
      StringEquals: Linux
    Default:
      sleep3
```

Choices  
Uma ou mais expressões que a Automação deve avaliar ao determinar a próxima etapa para a ser processada. Choices são avaliadas usando uma expressão booliana. Cada opção deve definir as seguintes opções:  
+ **NextStep**: a próxima etapa no runbook para processar se a opção designada é verdadeira.
+ **Variable**: especifique o nome de um parâmetro definido na seção `Parameters` do runbook. Ou especifique um objeto de saída de uma etapa anterior no runbook. Para obter mais informações sobre como criar variáveis para `aws:branch`, consulte [Sobre a criação de variáveis de saída](automation-branch-condition.md#branch-action-output).
+ **Operation**: os critérios usados para avaliar a opção. A ação `aws:branch` oferece suporte às seguintes operações:

**Operações de string**
  + StringEquals
  + EqualsIgnoreCase
  + StartsWith
  + EndsWith
  + Contém

**Operações numéricas**
  + NumericEquals
  + NumericGreater
  + NumericLesser
  + NumericGreaterOrEquals
  + NumericLesser
  + NumericLesserOrEquals

**Operação booleana**
  + BooleanEquals
**Importante**  
Quando você cria um runbook, o sistema valida cada operação dele. Se uma operação não for suportada, o sistema retornará um erro ao tentar criar o runbook.

Padrão  
O nome de uma etapa para a qual a automação deve saltar, se nenhuma das `Choices` forem verdadeiras.  
Tipo: string  
Obrigatório: não

**nota**  
A ação `aws:branch` oferece suporte a operadores `And`, `Or` e `Not`. Para obter exemplos de `aws:branch` que usam operadores, consulte [Uso de instruções condicionais em runbooks](automation-branch-condition.md).