为什么不在 CloudFormation Stack 中创建此安全组?
Why this Security Group is not being created in CloudFormation Stack?
我正在尝试创建一个安全组并根据 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,请移除Condition: SGEnvironment
。使用 Condition: SGEnvironment
,行为与您提到的相同。
- SGEnvironment == PROD --> 创建 SG
- SGEnvironment != PROD --> 不创建 SG
更多信息请参考here。
我正在尝试创建一个安全组并根据 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,请移除Condition: SGEnvironment
。使用 Condition: SGEnvironment
,行为与您提到的相同。
- SGEnvironment == PROD --> 创建 SG
- SGEnvironment != PROD --> 不创建 SG
更多信息请参考here。