UNPKG

@csermet/multiprovider

Version:

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

66 lines (65 loc) 2.72 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const isEmpty_1 = __importDefault(require("lodash/isEmpty")); const translations_1 = __importDefault(require("../../properties/translations")); const format_1 = require("../../utils/format"); /** * Lambda */ exports.default = ({ service: rawData, account, region, }) => { const { CodeSize: codeSize, Description: description, Environment = {}, FunctionArn: arn, Handler: handler, KMSKeyArn: kmsKeyArn, LastModified: lastModified, MemorySize: memorySize, Runtime: runtime, Tags = {}, Timeout: timeout, TracingConfig: tracing = [], Version: version, reservedConcurrentExecutions: rawReservedConcurrentExecutions, VpcConfig: vpcConfig, PolicyData: { Policy: policy = '', RevisionId: policyRevisionId = '' }, } = rawData; const environmentVariables = []; const secretNames = [translations_1.default.pass, translations_1.default.secret, translations_1.default.private, translations_1.default.cert]; const reservedConcurrentExecutions = rawReservedConcurrentExecutions; if (!isEmpty_1.default(Environment)) { if (Environment.Variables) { Object.entries(Environment.Variables).map(([key, value]) => { let desiredValue = value; secretNames.map(secret => { if (key.toLowerCase().includes(secret.toLowerCase())) { desiredValue = translations_1.default.secretPlaceholder; } }); environmentVariables.push({ id: `${key}:${desiredValue}`, key, value: desiredValue, }); }); } } const tracingConfig = Object.entries(tracing) .map(([key, value]) => `${key} - ${value}`) .join(', '); const formattedVpcConfig = { vpcId: vpcConfig?.VpcId, subnetIds: vpcConfig?.SubnetIds, securityGroupIds: vpcConfig?.SecurityGroupIds, }; return { accountId: account, arn, region, description, handler, id: arn, kmsKeyArn, lastModified, memorySize, reservedConcurrentExecutions, runtime, sourceCodeSize: `${codeSize * 0.001} Kb`, timeout, tracingConfig, version, environmentVariables, vpcConfig: formattedVpcConfig, policyRevisionId, rawPolicy: policy, policy: format_1.formatIamJsonPolicy(policy), tags: format_1.formatTagsFromMap(Tags), }; };