aws:branch – 条件付きオートメーションステップを実行する
aws:branch アクションを使用すると、1 つのステップでさまざまな選択肢を評価し、その評価結果に基づいてランブックの別のステップにジャンプする、動的なオートメーションを作成できます。
ステップの aws:branch アクションを指定する場合、オートメーションが評価する必要のある Choices を指定します。Choices は、Runbook の Parameters セクションで指定した値、または前述のステップの出力として生成された動的値のいずれかをベースにすることができます。自動化は、ブール式を使用して各選択肢を評価します。最初の選択肢が true である場合、オートメーションはその選択肢に指定されたステップにジャンプします。最初の選択肢が false の場合、オートメーションは次の選択肢を評価します。オートメーションは、選択肢が true になるまで、各選択肢の評価を続けます。オートメーションは、true の選択肢に指定されたステップにジャンプします。
true の選択肢がない場合、オートメーションはステップに default 値が含まれているかどうかを確認します。デフォルト値は、true の選択肢がない場合にオートメーションがジャンプするステップを定義します。ステップに default 値が指定されていない場合、オートメーションはランブックの次のステップを処理します。
aws:branch アクションは、And、Not、および Or 演算子の組み合わせを使用して複雑な選択肢の評価をサポートします。サンプルのランブックや、さまざまな演算子を使用する例を含む aws:branch の使用方法については、「ランブックでの条件文の使用」を参照してください。
入力
ステップに 1 つ以上の Choices を指定します。Choices は、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
- 選択肢
-
次のステップを決定し処理する際に、自動化が評価する 1 つ以上の式。選択肢はブール式を使用して評価されます。各選択肢は、次のオプションを定義する必要があります。
-
NextStep: 指定された選択肢が true である場合に処理する、Runbook の次のステップ。
-
Variable: Runbook の
Parametersセクションで定義されているパラメータの名前を指定します。または、Runbook の前述のステップからの出力オブジェクトを指定します。aws:branchの変数作成の詳細については、「出力変数の作成について」を参照してください。 -
Operation: 選択肢を評価するために使用される基準。
aws:branchアクションは、次の操作をサポートします。文字列演算子
-
StringEquals
-
EqualsIgnoreCase
-
StartsWith
-
EndsWith
-
Contains
数値演算子
-
NumericEquals
-
NumericGreater
-
NumericLesser
-
NumericGreaterOrEquals
-
NumericLesser
-
NumericLesserOrEquals
ブール演算子
-
BooleanEquals
重要
ランブックを作成すると、システムはランブック内の各オペレーションを検証します。オペレーションがサポートされていない場合は、ランブックの作成時にエラーが返されます。
-
-
- デフォルト
-
true の
Choicesがない場合にオートメーションがジャンプするステップの名前。型: 文字列
必須: いいえ
注記
aws:branch アクションは、And、Or、および Not 演算子をサポートします。演算子を使用する aws:branch の例については、「ランブックでの条件文の使用」を参照してください。