我正在aws中创建一个跨帐户访问角色。在我的yml模板中,我需要在Policy的condition元素中有一个if条件。尝试了各种方法使其发挥作用。但是获取错误,如格式错误的yaml和E0000找不到预期的":"yaml目前是这样的:
Condition:
StringEquals:
aws:pqrs: !Ref pqrs
- !If
- HasRoleArn
- Condition:
StringEquals:
aws:pqrs: !Ref pqrs
StringLike:
aws:RequestTag/abcd/principal: "*"
'Null':
aws:RequestTag/abcd/principal: "false"
- !Ref "AWS::NoValue"
早些时候是这样的(当它在条件元素中添加If条件之前工作时:
Condition:
StringEquals:
aws:pqrs: !Ref pqrs
非常感谢您的帮助。
您不能在Conditions
中使用Fn::If
。Fn::If
只能用于:
目前,CloudFormation支持模板的元数据属性、更新策略属性和资源部分和输出部分中的Fn::If内在函数。
您必须创建一个自定义宏来支持这样的功能。