当我尝试同时使用 / 和 sub 函数时出现约束问题
get constraint issue when I try to use / and sub function together
我正在尝试用 / 组成文本。这是我的 cloudformation 代码:
Resources:
KeyAlias:
Type: AWS::KMS::Alias
DependsOn: KMSKey
Properties:
AliasName: alias/!Sub ${project}-${EnvironmentApp}
TargetKeyId:
Ref: KMSKey
我在这一行收到约束验证错误:
AliasName: alias/!Sub ${project}-${EnvironmentApp}
显然 cfn 不喜欢 / 那里。但是,当我用静态的东西替换子函数时:
"AliasName": alias/test
另外当我按如下方式使用 join 时:
AliasName:
- Fn::Join:
- "/"
- - 'alias'
- Ref: project
- Ref: EnvironmentApp
我收到以下错误:
属性 别名的值必须是字符串类型
如何实现上述并通过约束问题?或者根本不可能吗?
尝试使用 Sub 内部函数如下(未测试)
AliasName: !Sub
- alias/${project}-${EnvironmentApp}
- { project: !Ref project, EnvironmentApp: !Ref EnvironmentApp}
根据 AWS::KMS::Alias 的 Cloudformation 文档,您必须 包含 /
此外,在这种情况下您不需要 DependsOn
,因为 KMSKey
在 TargetKeyId
中被引用
我正在尝试用 / 组成文本。这是我的 cloudformation 代码:
Resources:
KeyAlias:
Type: AWS::KMS::Alias
DependsOn: KMSKey
Properties:
AliasName: alias/!Sub ${project}-${EnvironmentApp}
TargetKeyId:
Ref: KMSKey
我在这一行收到约束验证错误:
AliasName: alias/!Sub ${project}-${EnvironmentApp}
显然 cfn 不喜欢 / 那里。但是,当我用静态的东西替换子函数时:
"AliasName": alias/test
另外当我按如下方式使用 join 时:
AliasName:
- Fn::Join:
- "/"
- - 'alias'
- Ref: project
- Ref: EnvironmentApp
我收到以下错误:
属性 别名的值必须是字符串类型
如何实现上述并通过约束问题?或者根本不可能吗?
尝试使用 Sub 内部函数如下(未测试)
AliasName: !Sub
- alias/${project}-${EnvironmentApp}
- { project: !Ref project, EnvironmentApp: !Ref EnvironmentApp}
根据 AWS::KMS::Alias 的 Cloudformation 文档,您必须 包含 /
此外,在这种情况下您不需要 DependsOn
,因为 KMSKey
在 TargetKeyId