@message-queue-toolkit/sqs
Version:
SQS adapter for message-queue-toolkit
17 lines • 1.03 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateQueuePublishForTopicPolicy = generateQueuePublishForTopicPolicy;
exports.generateWildcardSqsArn = generateWildcardSqsArn;
exports.generateWildcardSnsArn = generateWildcardSnsArn;
// See https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_version.html
const POLICY_VERSION = '2012-10-17';
function generateQueuePublishForTopicPolicy(queueArn, supportedSnsTopicArnPrefix) {
return `{"Version":"${POLICY_VERSION}","Id":"__default_policy_ID","Statement":[{"Sid":"AllowSNSPublish","Effect":"Allow","Principal":{"AWS":"*"},"Action":"sqs:SendMessage","Resource":"${queueArn}","Condition":{"ArnLike":{"aws:SourceArn":"${supportedSnsTopicArnPrefix}"}}}]}`;
}
function generateWildcardSqsArn(sqsQueueArnPrefix) {
return `arn:aws:sqs:*:*:${sqsQueueArnPrefix}`;
}
function generateWildcardSnsArn(snsTopicArnPrefix) {
return `arn:aws:sns:*:*:${snsTopicArnPrefix}`;
}
//# sourceMappingURL=sqsAttributeUtils.js.map