1. ホーム
  2. amazon-web-services

[解決済み] AWSです。CloudFormationのテンプレートでbooleanパラメータを指定する方法

2022-02-26 09:55:34

質問

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

ドキュメントを見ると ここで こちら のように、booleanデータ型が明らかに不足しているように見えます。

booleanを指定する際のベストプラクティスを教えてください。 可能性があります。 Number を0または1、あるいは StringAllowedValues 'true'と'false'は?

どのように解決するのですか?

その クイックスタート テンプレートは、複雑なテンプレートがどのように作成されるべきかの良い、半公式なリファレンスポイントです。 StringAllowedValues truefalse . 以下は、具体的な :

"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 ドキュメントに記載されています。 AllowedValuesdefault または NONE (デフォルト)です。

このようなブーリアン・パラメータに基づいて条件付きでリソースを作成するには、そのリソースを作成するために 条件 ステートメントを含む Fn::Equals 固有関数マッチング true を追加し、さらに Condition キーをリソースに追加します。

以下は、完全で最小限のテンプレートの例です。

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