2017-01-11 115 views
8

我想指定的CloudFormation模板,這樣我就可以根據傳入的參數有條件地創造資源的布爾參數AWS:如何在CloudFormation模板

望着文檔here指定一個布爾參數和here它會出現一個明顯缺乏布爾數據類型。

指定布爾值的最佳做法是什麼?可能是Number與0或1或StringAllowedValues'true'和'false'?

+0

爲什麼不使用密鑰對呢?你的用例是什麼? –

+0

密鑰對是如何工作的?用例與問題中指定的一樣 - 根據輸入參數有條件地創建模板中的資源。 –

回答

11

Quick Start模板是多麼複雜的模板可以/應該創建一個良好的,半官方的參考點,並完全按照你描述的那樣,使用StringAllowedValuestruefalse他們實施條件資源布爾值。這裏的一個特定example

"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,其中AllowedValuesdefaultNONE(默認值)的Conditionally use an existing resource示例中找到。

有條件地創建基於這樣一個布爾值參數的資源,你添加含有Fn::Equals內在功能匹配true一個Condition聲明,然後添加一個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 
相關問題