aws:branch – Run
                conditional automation steps
The aws:branch action allows you to create a dynamic automation that
            evaluates different choices in a single step and then jumps to a different step in the
            runbook based on the results of that evaluation. 
When you specify the aws:branch action for a step, you specify
                Choices that the automation must evaluate. The Choices can
            be based on either a value that you specified in the Parameters section of
            the runbook, or a dynamic value generated as the output from the previous step. The
            automation evaluates each choice by using a Boolean expression. If the first choice is
            true, then the automation jumps to the step designated for that choice. If the first
            choice is false, the automation evaluates the next choice. The automation continues
            evaluating each choice until it process a true choice. The automation then jumps to the
            designated step for the true choice.
If none of the choices are true, the automation checks to see if the step contains a
                default value. A default value defines a step that the automation
            should jump to if none of the choices are true. If no default value is
            specified for the step, then the automation processes the next step in the
            runbook.
The aws:branch action supports complex choice evaluations by using a
            combination of And, Not, and Or operators. For
            more information about how to use aws:branch, including example runbooks
            and examples that use different operators, see Using conditional statements in
                    runbooks.
Input
Specify one or more Choices in a step. The Choices can
                be based on either a value that you specified in the Parameters section
                of the runbook, or a dynamic value generated as the output from the previous step.
                Here is a YAML sample that evaluates a parameter.
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
Here is a YAML sample that evaluates output from a previous step.
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
- 
                    One or more expressions that the Automation should evaluate when determining the next step to process. Choices are evaluated by using a Boolean expression. Each choice must define the following options: - 
                            NextStep: The next step in the runbook to process if the designated choice is true. 
- 
                            Variable: Specify either the name of a parameter that is defined in the Parameterssection of the runbook. Or specify an output object from a previous step in the runbook. For more information about creating variables foraws:branch, see About creating the output variable.
- 
                            Operation: The criteria used to evaluate the choice. The aws:branchaction supports the following operations:String operations- 
                                    StringEquals 
- 
                                    EqualsIgnoreCase 
- 
                                    StartsWith 
- 
                                    EndsWith 
- 
                                    Contains 
 Numeric operations- 
                                    NumericEquals 
- 
                                    NumericGreater 
- 
                                    NumericLesser 
- 
                                    NumericGreaterOrEquals 
- 
                                    NumericLesser 
- 
                                    NumericLesserOrEquals 
 Boolean operation- 
                                    BooleanEquals 
 ImportantWhen you create a runbook, the system validates each operation in the runbook. If an operation isn't supported, the system returns an error when you try to create the runbook. 
- 
                                    
 
- 
                            
- Default
- 
                    The name of a step the automation should jump to if none of the Choicesare true.Type: String Required: No 
Note
The aws:branch action supports And, Or, and
                    Not operators. For examples of aws:branch that use
                operators, see Using conditional statements in
                    runbooks.