Условный ресурс в безсерверном режиме - PullRequest
0 голосов
/ 07 февраля 2019

Я хотел бы добавить ресурс AWS условно, исходя из наличия env var.Я попытался serverless-cloudformation-parameter-setter, но я получаю общую ошибку при развертывании, и я не вижу, что мне нужно сделать, чтобы исправить это

Я пытаюсь развернуть простой стек lambda + SQS и, если env varопределяется также подписать очередь на тему, обозначенную env var - или, если var не определен, то вообще не делать эту часть, только лямбда и очередь

Это то, что я пытался:

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

Если я удаляю все параметры, все работает нормально

1 Ответ

0 голосов
/ 08 февраля 2019

Type должно быть String, а не string.См. Раздел поддерживаемые типы данных параметров в документации.

...