web-dev-qa-db-ja.com

AWS:CloudFormationテンプレートでブール値パラメーターを指定する方法

CloudFormationテンプレートでブールパラメーターを指定しようとしているので、渡されたパラメーターに基づいて条件付きでリソースを作成できます。

ドキュメンテーション here および here を見ると、ブールデータ型の認識できない不足があるように見えます。

ブール値を指定するためのベストプラクティスは何ですか? 0または1のNumberまたはStringの 'true'および 'false'のAllowedValuesか。

30

Quick Start テンプレートは、複雑なテンプレートの作成方法/作成方法の準公式の良いリファレンスポイントであり、説明したとおりに条件付きリソースのブール値を実装します。 String with AllowedValuestrueおよびfalse。具体的な の例

"EnableBanner": {
    "AllowedValues": [
        "true",
        "false"
    ],
    "Default": "false",
    "Description": "To include a banner to be displayed when connecting via SSH to the bastion, set this parameter to true",
    "Type": "String"
}

同様の例は、CloudFormationドキュメントの Conditionally use existing resource exampleにあります。ここで、AllowedValuesdefaultまたはNONEです(デフォルト)。

このようなブール値パラメーターに基づいて条件付きでリソースを作成するには、 Fn::Equals 組み込み関数を含む Condition ステートメントを追加しますtrueに一致してから、Conditionキーをリソースに追加します。

完全な最小限のサンプルテンプレートを次に示します。

Launch Stack

Parameters:
  CreateResource:
    Description: Whether I should create a resource.
    Default: false
    Type: String
    AllowedValues: [true, false]
Conditions:
  ShouldCreateResource:
    !Equals [true, !Ref CreateResource]
Resources:
  Resource:
    Type: AWS::CloudFormation::WaitConditionHandle
    Condition: ShouldCreateResource
47
wjordan