Ошибка проверки свойства «SNSDestination» при создании ConfigurationSetEventDestination из CloudFormation - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь создать ConfigurationSetEventDestination с использованием ресурсов без сервера , но он не распознает EventDestination для значения SNSDestination, вот вывод:

enter image description here

А вот ресурс от serverless.yml

resources:
  Resources:
    HandleEmailsEvents:
      Type: AWS::SNS::Topic
      Properties:
        DisplayName: 'Handle emails events (${self:custom.stage})'
        TopicName: 'HandleEmailsEvents'
    ConfigurationSet:
      Type: 'AWS::SES::ConfigurationSet'
      Properties:
        Name: 'EMAIL_TRACKING'
    ConfigurationSetEventDestination:
      Type: 'AWS::SES::ConfigurationSetEventDestination'
      Properties:
        ConfigurationSetName: 'EMAIL_TRACKING'
        EventDestination:
          Name: 'EMAIL_TRACKING_DESTINATION'
          Enabled: true
          MatchingEventTypes:
            - bounce
            - complaint
          SNSDestination:
            TopicARN:
              Ref: 'HandleEmailsEvents'

Следуя документации ConfigurationSetEventDestination EventDestination кажется недоступным, но здесь это с этим объектом описания.

Назначение SNS также доступно при создании из консоли

enter image description here

@ AWS Что здесь происходит?

Спасибо,

PS: я не единственный ...

https://forums.aws.amazon.com/thread.jspa?messageID=858616&#858616

https://forums.aws.amazon.com/thread.jspa?messageID=809004&#809004

https://forums.aws.amazon.com/thread.jspa?messageID=848013&#848013

[ОБНОВЛЕНО]

Я пытался создать то же самое с помощью nodejs sdk, все работает, возможно, документы здесь .

Может быть что-то с сгенерированным стеком CloudFormation?

let ses = new AWS.SES()
const destinationParams = {
  ConfigurationSetName: 'test',
  EventDestination: {
    Name: 'xxxxx2',
    MatchingEventTypes: ['send', 'reject', 'bounce', 'complaint', 'delivery', 'open', 'click'],
    Enabled: true,
    SNSDestination: {
      TopicARN: 'arn:aws:sns:us-east-1:xxxxxxxxxx:test',
    },
  },
};

ses.createConfigurationSetEventDestination(destinationParams, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

enter image description here

...