Resources:
SNSTopic:
Type: AWS::SNS::Topic
Properties:
TopicName: name
KmsMasterKeyId: !ImportValue kms-key-id
SQSQueue:
Type: AWS::SQS::Queue
SNSSubscription:
Type: AWS::SNS::Subscription
Properties:
TopicArn: !Ref SNSTopicArn
Endpoint: !GetAtt SQSQueue.Arn
Protocol: sqs
RawMessageDelivery: true
SQSQueuePolicy:
Type: AWS::SQS::QueuePolicy
Properties:
QueueArn: !Ref SQSQueue
PolicyDocument:
Id: AllowSNSToSendMessages
Statement:
- Effect: Allow
Principal:
AWS: '*'
Action: sqs:SendMessage
Resource: !GetAtt SQSQueue.Arn
Note: one sns subscription per end point. Endpoint must be a string, not an array.