我是AWS Cloudformation世界的新手。我正在尝试创建一个elasticbeanstalk配置模板。对于它的设置之一,我需要使用两个安全组。所以,我已经给出了以下内容
MyConfigurationTemplate:
Type: AWS::ElasticBeanstalk::ConfigurationTemplate
Properties:
Properties:
ApplicationName: MyApplication
Description: A default Application
SolutionStackName: SolutionStack
OptionSettings:
....
....
- Namespace: aws:autoscaling:launchconfiguration
OptionName: SecurityGroups
Value:
!If
- ConditionIsTrue
- [!Ref FirstGroup, !ImportValue SecondGroup]
- !Ref FirstGroup
....
....
我从AWS文档here中读到,SecurityGroups是一个列表,我们可以提供逗号分隔列表。但这对我不起作用。 AWS抛出以下错误
属性值Value必须是String
类型
我试图通过以下方式提供安全组的价值,但没有一个能够发挥作用。
1)“!Ref FirstGroup,!ImportValue SecondGroup”
2)!Ref FirstGroup,!ImportValue SecondGroup
知道应该如何提供这个安全组列表吗?
答案 0 :(得分:1)
我自己得到了一些反复试验。因为它接受逗号分隔列表。我们需要使用!join ,如下所示。
MyConfigurationTemplate:
Type: AWS::ElasticBeanstalk::ConfigurationTemplate
Properties:
ApplicationName: MyApplication
Description: A default Application
SolutionStackName: SolutionStack
OptionSettings:
....
....
- Namespace: aws:autoscaling:launchconfiguration
OptionName: SecurityGroups
Value:
!If
- ConditionIsTrue
- !Join [',', [!Ref FirstGroup, !ImportValue SecondGroup]]
- !Ref FirstGroup
....
....