【问题标题】:Cloudformation:: Condition to the ManagedPolicyArns based on the EnvironmentCloudformation:: ManagedPolicyArns 基于环境的条件
【发布时间】:2019-06-19 18:08:22
【问题描述】:

我正在尝试根据环境向 ManagedPolicyArns 添加条件,它必须运行指定策略

这是我的代码:

Conditions:
      IsEnvProd: Fn::Equals [!Ref Env, 'prod']

 ManagedPolicyArns:
        - Fn::If:
           - IsEnvProd:
             - "arn:aws:iam::111111111111:policy/prod_policy"
             - "arn:aws:iam::111111111111:policy/stage_policy"

收到以下错误: ValidateTemplate 操作:模板错误:Fn::If 需要一个包含三个元素的列表参数

【问题讨论】:

    标签: if-statement amazon-cloudformation fn


    【解决方案1】:

    试试这个:

    Conditions:
          IsEnvProd: Fn::Equals [!Ref Env, 'prod']
    
     ManagedPolicyArns:
            - Fn::If:
               - IsEnvProd
               - "arn:aws:iam::111111111111:policy/prod_policy"
               - "arn:aws:iam::111111111111:policy/stage_policy"
    

    Fn::If 接受三个参数。第一个是条件名称,第二个是真值,第三个是假值。你传递了一张地图。

    【讨论】:

      【解决方案2】:

      好的,有道理,谢谢:

      但我现在不断收到此错误:

      Template format error: Conditions can only be boolean operations on parameters and other conditions
      

      【讨论】:

        猜你喜欢
        • 2019-11-07
        • 1970-01-01
        • 2013-01-30
        • 1970-01-01
        • 2018-11-14
        • 2017-11-14
        • 2016-05-23
        • 2015-04-18
        • 2016-01-17
        相关资源
        最近更新 更多