Cloudformation :: Условие для ManagedPolicyArns на основе среды - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь добавить условие в 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 требует аргумента списка с тремя элементами

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Хорошо, это имеет смысл, спасибо:

Но я продолжаю получать эту ошибку сейчас:

Template format error: Conditions can only be boolean operations on parameters and other conditions
0 голосов
/ 21 июня 2019

Попробуйте:

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 принимает три параметра.Первый - это имя условия, второй - значение, если true, и третий - значение, если false.Вместо этого вы передали карту.

...