aws:branch – Executa etapas de automação condicionais - AWS Systems Manager

aws:branch – Executa etapas de automação condicionais

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.

Entrada

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.

  • 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: sequência

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.