我正在尝试根据Fn::GetAZs
'集合动态生成资源:
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::LanguageExtensions'
Resources:
Fn::ForEach::CreateSecurityGroups:
- 'AZIndex'
- Fn::Split: [",", Fn::GetAZs: !Ref "AWS::Region"]
- Fn::Sub: SecurityGroup${AZIndex}
Type: 'AWS::EC2::SecurityGroup'
Properties:
GroupDescription: 'SecurityGroup-${AZIndex}'
GroupName:
Fn::Sub: 'SecurityGroup-${AZIndex}'
但是堆栈创建失败,并且在事件中错误是:
转换 AWS::LanguageExtensions 失败:找不到集合或无法解析 Fn::ForEach
如何解决这个问题?
我尝试过的其他方法
所有这些都会重现相同类型的错误。
- Fn::Join:
- ","
- Fn::GetAZs: ''
- Fn::GetAZs:
Ref: 'AWS::Region'
- Fn::GetAZs: ''
最佳答案
我认为该问题是由使用内联 Fn::Sub
引起的,非伪参数不支持该内联函数。这应该有效:
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::LanguageExtensions'
Resources:
Fn::ForEach::CreateSecurityGroups:
- 'AZIndex'
- Fn::Split: [",", Fn::GetAZs: !Ref "AWS::Region"]
- 'SecurityGroup${AZIndex}'
Type: 'AWS::EC2::SecurityGroup'
Properties:
GroupDescription: 'SecurityGroup-${AZIndex}'
GroupName:
Fn::Sub: 'SecurityGroup-${AZIndex}'
关于yaml - Fn::Foreach 具有内部函数参数 | Fn::GetAZ |找不到集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77175451/