aws:branch – 執行條件式自動化步驟 - AWS Systems Manager

aws:branch – 執行條件式自動化步驟

aws:branch 動作可讓您建立動態自動化,以評估單一步驟中的不同選擇,接著根據該評估的結果跳至 Runbook 中的不同步驟。

指定步驟的 aws:branch 動作時,您要指定自動化必須評估的 ChoicesChoices 可根據您在 Runbook 之 Parameters 區段所指定的值,或是產生做為先前步驟之輸出的動態值。自動化會使用布林值表達式評估每個選擇。如果第一個選擇為 true,則自動化會跳至針對該選擇指定的步驟。如果第一個選擇為 false,則自動化會評估下一個選擇。自動化會繼續評估每個選擇,直到處理的選擇是 true 為止。接著自動化會跳至選擇為 true 的指定步驟。

如果選擇均不為 true,則自動化會檢查步驟是否包含 default 值。如果沒有選擇為 true,則預設值會定義自動化應跳至的步驟。如果未針對步驟指定 default 值,則自動化會處理 Runbook 中的下一個步驟。

aws:branch 動作可結合使用 AndNotOr 運算子來支援複雜的選擇評估。如需使用 aws:branch 的詳細資訊,包括使用不同運算子的範例 Runbook 和範例,請參閱 使用條件式分支建立動態自動化

Input

在步驟中指定一個或多個 ChoicesChoices 可根據您在 Runbook 之 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
選擇

在決定要處理的下一個步驟時,自動化應評估的一個或多個運算式。選擇是使用布林值運算式評估。每個選擇都必須定義以下選項:

  • NextStep:如果指定選擇為 true,在 Runbook 中要處理的下一個步驟。

  • Variable (變數):指定 Runbook 之 Parameters 區段中定義的參數名稱。或指定 Runbook 中先前步驟的輸出物件。如需為 aws:branch 建立變數的詳細資訊,請參閱 關於建立輸出變數

  • Operation (運算):用於評估選擇的條件。aws:branch 動作支援以下運算:

    字串運算

    • StringEquals

    • EqualsIgnoreCase

    • StartsWith

    • EndsWith

    • Contains

    數值運算

    • NumericEquals

    • NumericGreater

    • NumericLesser

    • NumericGreaterOrEquals

    • NumericLesser

    • NumericLesserOrEquals

    布林運算

    • BooleanEquals

    重要

    當您建立 Runbook 時,系統會驗證 Runbook 中的每個操作。如果不支援操作,系統會在您嘗試建立 Runbook 時傳回錯誤。

預設

自動化在 Choices 均不為 true 時應跳至某步驟的名稱。

類型:字串

必要:否

注意

aws:branch 動作支援 AndOrNot 運算子。如需使用運算子的 aws:branch 範例,請參閱 使用條件式分支建立動態自動化