我正在尝试创建一个安全组并根据 Fn::If 内部函数对其进行命名。
Parameters:
Environment:
Type: String
Description: Select Environment, Default is DEMO
Default: DEMO
AllowedValues: [ PROD, DEMO, QA, PERF, STAGING, INTEGRATION ]
Conditions:
SGEnvironment: !Equals [!Ref Environment, PROD]
Resources:
SG:
Type: AWS::EC2::SecurityGroup
Condition: SGEnvironment
Properties:
GroupName: !If [ SGEnvironment,"PROD-SG","NON-PROD-SG"]
只要条件为真,就会创建安全组,但如果条件为假,则不会创建安全组。
每当选择环境参数而不是 PROD 时,都不会创建安全组。
最佳答案
如果您想一直创建SG,请删除条件:SGEnvironment
。对于条件:SGEnvironment
,行为与您提到的相同。
- SGEnvironment == PROD --> 创建 SG
- SGEnvironment != PROD --> 不创建 SG
请引用here了解更多信息。
关于amazon-web-services - 为什么没有在 CloudFormation Stack 中创建此安全组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58671511/