@csermet/multiprovider
Version:
cloud-graph provider plugin for AWS used to fetch AWS cloud data.
43 lines (42 loc) • 2.75 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const translations_1 = __importDefault(require("../../properties/translations"));
const dateutils_1 = __importDefault(require("../../utils/dateutils"));
const format_1 = require("../../utils/format");
/**
* SQS
*/
exports.default = ({ service: key, account, region, }) => {
const { queueUrl, Tags = {} } = key;
const { QueueArn: arn, ApproximateNumberOfMessages: approximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible: approximateNumberOfMessagesNotVisible, ApproximateNumberOfMessagesDelayed: approximateNumberOfMessagesDelayed, VisibilityTimeout: visibilityTimeout, MaximumMessageSize: maximumMessageSize, MessageRetentionPeriod: messageRetentionPeriod, DelaySeconds: delaySeconds, Policy: policy, ReceiveMessageWaitTimeSeconds: receiveMessageWaitTimeSeconds, KmsMasterKeyId: kmsMasterKeyId, KmsDataKeyReusePeriodSeconds: kmsDataKeyReusePeriodSeconds, SqsManagedSseEnabled: sqsManagedSseEnabled, FifoQueue: fifoQueue, DeduplicationScope: deduplicationScope, FifoThroughputLimit: fifoThroughputLimit, ContentBasedDeduplication: contentBasedDeduplication, } = key?.sqsAttributes || {};
return {
id: arn,
accountId: account,
arn,
region,
queueUrl,
queueType: arn.includes('.fifo') ? translations_1.default.fifo : translations_1.default.standard,
approximateNumberOfMessages: parseInt(approximateNumberOfMessages, 10),
approximateNumberOfMessagesNotVisible: parseInt(approximateNumberOfMessagesNotVisible, 10),
approximateNumberOfMessagesDelayed: parseInt(approximateNumberOfMessagesDelayed, 10),
visibilityTimeout: dateutils_1.default(visibilityTimeout),
maximumMessageSize: Math.round(parseInt(maximumMessageSize, 10) * 0.001 // This is a conversion from bytes to Kbytes
),
messageRetentionPeriod: dateutils_1.default(messageRetentionPeriod),
delaySeconds: `${delaySeconds} ${translations_1.default.seconds}`,
rawPolicy: policy,
policy: format_1.formatIamJsonPolicy(policy),
receiveMessageWaitTimeSeconds: dateutils_1.default(receiveMessageWaitTimeSeconds),
kmsMasterKeyId,
kmsDataKeyReusePeriodSeconds,
sqsManagedSseEnabled: sqsManagedSseEnabled === translations_1.default.true,
fifoQueue: fifoQueue === translations_1.default.true,
deduplicationScope,
fifoThroughputLimit,
contentBasedDeduplication: contentBasedDeduplication === translations_1.default.true,
tags: format_1.formatTagsFromMap(Tags),
};
};