Вопрос
- Как правильно получить выходные данные стека облачной информации в файле
serverless.yml
без жесткого кодирования имени стека?
Шаги
У меня есть файл serverless.yml
, в который я импортирую шаблон облачной информации для создания кластера ElastiCache.
Когда я пытаюсь это сделать, я получаю эту ошибку:
Serverless Error ---------------------------------------
Invalid variable reference syntax for variable AWS::StackName. You can only reference env vars, options, & files. You can check our docs for more info.
В моем файле я хотел бы представить в качестве переменной среды вывод ElastiCacheAddress из стека облачной информации. Я использую безсерверный плагин псевдопараметров для получения выходных данных:
# Here is where I try to reference the CF output value
service: hello-world
provider:
name: aws
# ...
environment:
cacheUrl: ${cf:#{AWS::StackName}.ElastiCacheAddress}
# Reference to the CF template
resources:
- '${file(./cf/cf-elasticache.yml)}'
Шаблон CF является шаблоном из репозитория AWS Samples GitHub .
Фрагмент с выводом здесь:
ElastiCacheAddress:
Description: ElastiCache endpoint address
Value: !If [ IsRedis, !GetAtt ElastiCacheCluster.RedisEndpoint.Address, !GetAtt ElastiCacheCluster.ConfigurationEndpoint.Address]
Export:
Name: !Sub ${AWS::StackName}-ElastiCacheAddress