Получить проблему ограничения, когда я пытаюсь использовать / и подфункцию вместе
Я пытаюсь сформировать текст с помощью /. вот мой код облачной информации:
Resources:
KeyAlias:
Type: AWS::KMS::Alias
DependsOn: KMSKey
Properties:
AliasName: alias/!Sub ${project}-${EnvironmentApp}
TargetKeyId:
Ref: KMSKey
Я получаю ошибку проверки ограничения в этой строке:
AliasName: alias/!Sub ${project}-${EnvironmentApp}
Видимо cfn не любит / там. Однако, когда я заменяю функцию sub чем-то статичным, например:
"AliasName": alias/test
Также, когда я использую соединение следующим образом:
AliasName:
- Fn::Join:
- "/"
- - 'alias'
- Ref: project
- Ref: EnvironmentApp
Я получаю следующую ошибку:
Значение свойства AliasName должно иметь тип String
Как я могу достигнуть вышеупомянутого и передать проблему ограничения? Или это вообще возможно?
1 ответ
Решение
Попробуйте использовать встроенную функцию Sub следующим образом (не проверено)
AliasName: !Sub
- alias/${project}-${EnvironmentApp}
- { project: !Ref project, EnvironmentApp: !Ref EnvironmentApp}
На основе документации Cloudformation для AWS::KMS::Aliasнеобходимо включить /
Также вам не нужно DependsOn
в этом случае, так как KMSKey
упоминается в TargetKeyId