UNPKG

@csermet/multiprovider

Version:

cloud-graph provider plugin for AWS used to fetch AWS cloud data.

55 lines (54 loc) 2.04 kB
"use strict"; 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 || [], }; };