aws:branch
– 运行条件自动化步骤
aws:branch
操作让您能够创建一个动态自动化,该自动化在一个步骤中评估不同选择,然后根据评估结果跳转到运行手册中的另一个步骤。
在为步骤指定 aws:branch
操作时,请指定自动化必须评估的 Choices
。Choices
可以基于您在运行手册的 Parameters
部分中指定的值,也可以基于上一步的输出生成的动态值。自动化使用布尔表达式评估每个选择。如果第一个选择为真,则自动化跳转到为此选择指定的步骤。如果第一个选择为假,则自动化评估下一个选择。自动化继续评估每个选择,直到遇到结果为真的选择。然后,自动化跳转到为结果为真的选择指定的步骤。
如果所有选择都为假,则自动化检查该步骤是否包含 default
值。默认值定义当所有选择都为假时自动化应跳转到的步骤。如果没有为该步骤指定 default
值,则自动化处理运行手册中的下一个步骤。
aws:branch
操作通过组合使用 And
、Not
和 Or
运算符来支持复杂的选择评估。有关如何使用 aws:branch
的更多信息,包括使用不同运算符的示例运行手册和示例,请参阅 在运行手册中使用条件语句。
输入
在步骤中指定一个或多个 Choices
。Choices
可以基于您在运行手册的 Parameters
部分中指定的值,也可以基于上一步的输出生成的动态值。下面是一个评估参数的 YAML 示例。
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
下面是一个评估上一步输出的 YAML 示例。
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
-
自动化 在确定下一个要处理的步骤时应评估的一个或多个表达式。通过使用布尔表达式对选择进行评估。每个选择都必须定义以下选项:
-
NextStep:当指定的选择为真时,要处理的运行手册中的下一个步骤。
-
变量:指定在运行手册的
Parameters
部分中定义的参数名称。或指定来自运行手册中上一步的输出对象。有关为aws:branch
创建变量的更多信息,请参阅 关于创建输出变量。 -
运算:用于评估选择的标准。
aws:branch
操作支持以下运算:字符串运算
-
字符串等于
-
EqualsIgnoreCase
-
StartsWith
-
EndsWith
-
包含
数值运算
-
NumericEquals
-
NumericGreater
-
NumericLesser
-
NumericGreaterOrEquals
-
NumericLesser
-
NumericLesserOrEquals
布尔运算
-
BooleanEquals
重要
创建运行手册时,系统将验证运行手册中的每个操作。在尝试创建运行手册时,如果某个操作不受支持,系统会返回错误。
-
-
- 默认
-
当所有
Choices
都为假时,自动化应跳转到的步骤的名称。类型:字符串
必需:否
注意
aws:branch
操作支持 And
、Or
和 Not
运算符。有关使用运算符的 aws:branch
的示例,请参阅 在运行手册中使用条件语句。