我想补充有条件地基于一个的环境变量的存在的AWS资源。我试图serverless-cloudformation-parameter-setter
但我得到的部署一般性错误,我看不出有什么我需要做什么来解决这个问题
我想部署一个简单的λ+ SQS栈和如果的环境变量也被定义订阅队列通过的环境变量表示的主题 - 或者,如果没有定义变量,然后不做那部分,只是一些拉姆达和队列
这是我的尝试:
plugins:
- serverless-cloudformation-parameter-setter
provider:
name: aws
runtime: nodejs8.10
region: eu-west-1
functions:
update:
handler: index.update
events:
- sqs:
arn:
Fn::GetAtt:
- Queue
- Arn
custom:
cf-parameters:
SourceTopicArn: "${env:UPDATE_SNS_ARN}"
resources:
Parameters:
SourceTopicArn:
Type: string
Resources:
Queue:
Type: "AWS::SQS::Queue"
Subscription:
Type: "AWS::SNS::Subscription"
Condition: SourceTopicArn
Properties:
TopicArn:
Ref: SourceTopicArn
Endpoint:
Ref: Queue
我收到的错误是:The CloudFormation template is invalid: Template format error: Unrecognized parameter type: string
如果我删除所有参数的东西,它工作正常
该Type
必须是String
,不string
。看到文档的supported parameter data types section。