翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
で条件付きコンストラクトを使用する AWSTOE
条件付きコンストラクトは、指定された条件式が true
または のどちらに評価されるかに基づいて、コンポーネントドキュメントで異なるアクションを実行しますfalse
。if
コンストラクトを使用して、コンポーネントドキュメントの実行フローを制御できます。
構築する場合
if
コンストラクトを使用して、ステップを実行するかどうかを評価できます。デフォルトでは、if
条件式が に評価されるとtrue
、 はステップ AWSTOE を実行し、条件が に評価されるとfalse
、 はステップを AWSTOE スキップします。ステップがスキップされた場合、 はフェーズとドキュメントが正常に実行されたかどうかを評価すると AWSTOE 、成功したステップとして扱われます。
注記
if
ステートメントは、ステップが再起動をトリガーした場合でも、1 回のみ評価されます。ステップが再起動すると、if
ステートメントが既に評価されていることを認識し、中断した箇所で続行します。
構文
if: - <conditional expression>: [then: <step action>] [else: <step action>]
キー名 | 必要 | 説明 |
---|---|---|
条件式 | 可能 |
条件式には、最上位レベルで次のタイプの演算子のいずれかのみを含めることができます。 式が複数の条件を満たす必要がある場合は、論理演算子を使用して条件を指定します。 |
次に | 不可 |
条件式が に評価された場合に実行するアクションを定義します |
else | 不可 |
条件式が に評価された場合に実行するアクションを定義します |
ステップアクション | 条件付き |
|
例 1: パッケージをインストールする
AWSTOE コンポーネントドキュメントの以下のステップ例では、論理演算子を使用してパラメータ値をテストし、パッケージが解凍されている場合は、適切なパッケージマネージャーコマンドを実行してアプリケーションをインストールします。
- name: InstallUnzipAptGet action: ExecuteBash if: and: - binaryExists: 'apt-get' - not: binaryExists: 'unzip' inputs: commands: - sudo apt-get update - sudo apt-get install -y unzip - name: InstallUnzipYum action: ExecuteBash if: and: - binaryExists: 'yum' - not: binaryExists: 'unzip' inputs: commands: - sudo yum install -y unzip - name: InstallUnzipZypper action: ExecuteBash if: and: - binaryExists: 'zypper' - not: binaryExists: 'unzip' inputs: commands: - sudo zypper refresh - sudo zypper install -y unzip
例 2: ステップをスキップする
次の例は、ステップをスキップする 2 つの方法を示しています。1 つは論理演算子を使用し、1 つはSkip
ステップアクションで比較演算子を使用します。
# Creates a file if it does not exist using not - name: CreateMyConfigFile-1 action: ExecuteBash if: not: fileExists: '/etc/my_config' inputs: commands: - echo "Hello world" > '/etc/my_config' # Creates a file if it does not exist using then and else - name: CreateMyConfigFile-2 action: ExecuteBash if: fileExists: '/etc/my_config' then: Skip else: Execute inputs: commands: - echo "Hello world" > '/etc/my_config'