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