@csermet/multiprovider
Version:
cloud-graph provider plugin for AWS used to fetch AWS cloud data.
55 lines (54 loc) • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const sdk_1 = require("@cloudgraph/sdk");
/**
* CloudWatch Logs
*/
exports.default = ({ service, account, region, }) => {
const { logGroupName, creationTime: creationDate, retentionInDays, metricFilterCount, arn, storedBytes: bytes, kmsKeyId, MetricFilters: metricFilters, } = service;
const filters = metricFilters?.map(({ filterName, filterPattern, creationTime: filterCreationDate, logGroupName: filterLogGroupName, metricTransformations, }) => {
return {
id: sdk_1.generateUniqueId({
arn,
filterName,
filterPattern,
filterCreationDate,
filterLogGroupName,
metricTransformations,
}),
filterName,
filterPattern,
creationTime: filterCreationDate?.toString() || '',
logGroupName: filterLogGroupName,
metricTransformations: metricTransformations?.map(({ metricName, metricNamespace, metricValue, defaultValue, unit, }) => {
return {
id: sdk_1.generateUniqueId({
arn,
metricName,
metricNamespace,
metricValue,
defaultValue,
unit,
}),
metricName,
metricNamespace,
metricValue,
defaultValue: defaultValue || 0,
unit: unit || '',
};
}) || [],
};
});
return {
id: logGroupName,
accountId: account,
arn,
region,
creationTime: creationDate?.toString() || '',
retentionInDays: retentionInDays || 0,
metricFilterCount: metricFilterCount || 0,
storedBytes: bytes?.toString() || '',
kmsKeyId: kmsKeyId || '',
metricFilters: filters || [],
};
};