aws:branch – 运行条件自动化步骤 - AWS Systems Manager

aws:branch – 运行条件自动化步骤

aws:branch 操作让您能够创建一个动态自动化,该自动化在一个步骤中评估不同选择,然后根据评估结果跳转到运行手册中的另一个步骤。

在为步骤指定 aws:branch 操作时,请指定自动化必须评估的 ChoicesChoices 可以基于您在运行手册的 Parameters 部分中指定的值,也可以基于上一步的输出生成的动态值。自动化使用布尔表达式评估每个选择。如果第一个选择为真,则自动化跳转到为此选择指定的步骤。如果第一个选择为假,则自动化评估下一个选择。自动化继续评估每个选择,直到遇到结果为真的选择。然后,自动化跳转到为结果为真的选择指定的步骤。

如果所有选择都为假,则自动化检查该步骤是否包含 default 值。默认值定义当所有选择都为假时自动化应跳转到的步骤。如果没有为该步骤指定 default 值,则自动化处理运行手册中的下一个步骤。

aws:branch 操作通过组合使用 AndNotOr 运算符来支持复杂的选择评估。有关如何使用 aws:branch 的更多信息,包括使用不同运算符的示例运行手册和示例,请参阅 在运行手册中使用条件语句

输入

在步骤中指定一个或多个 ChoicesChoices 可以基于您在运行手册的 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 操作支持 AndOrNot 运算符。有关使用运算符的 aws:branch 的示例,请参阅 在运行手册中使用条件语句