UNPKG

@csermet/multiprovider

Version:

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

109 lines (108 loc) 4.63 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const sdk_1 = require("@cloudgraph/sdk"); const translations_1 = __importDefault(require("../../properties/translations")); const format_1 = require("../../utils/format"); exports.default = ({ service: rawData, account: accountId, region, }) => { const { StackId: stackId, StackName: stackName, ChangeSetId: changeSetId, Description: description, Parameters: parameters, CreationTime: creationTime, DeletionTime: deletionTime, LastUpdatedTime: lastUpdatedTime, RollbackConfiguration: rollbackConfiguration, StackStatus: stackStatus, StackStatusReason: stackStatusReason, DisableRollback: disableRollback, NotificationARNs: notificationARNs, TimeoutInMinutes: timeoutInMinutes, Capabilities: capabilities, Outputs: outputs, RoleARN: roleArn, Tags: tags, EnableTerminationProtection: enableTerminationProtection, ParentId: parentId, RootId: rootId, DriftInformation: driftInformation, stackDrifts, } = rawData; const parameterList = parameters.map(({ ParameterKey: parameterKey, ParameterValue: parameterValue, UsePreviousValue: usePreviousValue, ResolvedValue: resolvedValue, }) => { return { id: sdk_1.generateUniqueId({ stackId, parameterKey, parameterValue, usePreviousValue, resolvedValue, }), parameterKey, parameterValue, usePreviousValue: usePreviousValue ? translations_1.default.yes : translations_1.default.no, resolvedValue, }; }); const rollbackConfigurationRollbackTriggerList = rollbackConfiguration?.RollbackTriggers?.map(({ Arn: arn, Type: type }) => { return { id: sdk_1.generateUniqueId({ stackId, arn, type, }), arn, type, }; }) || []; const outputsList = outputs?.map(({ OutputKey: outputKey, OutputValue: outputValue, Description: outputDescription, ExportName: exportName, }) => { return { id: sdk_1.generateUniqueId({ stackId, outputKey, outputValue, outputDescription, exportName, }), outputKey, outputValue, description: outputDescription, exportName, }; }) || []; const stackDriftList = stackDrifts?.map(({ ResourceType: resourceType, StackResourceDriftStatus: status, Timestamp, }) => { return { id: sdk_1.generateUniqueId({ stackId, resourceType, status, Timestamp, }), resourceType, status, timestamp: Timestamp.toISOString(), }; }) || []; return { id: stackId, arn: stackId, name: stackName, accountId, changeSetId: changeSetId || '', description, parameters: parameterList, creationTime: creationTime.toISOString(), deletionTime: deletionTime?.toISOString() || '', lastUpdatedTime: lastUpdatedTime?.toISOString() || '', rollbackConfiguration: { id: sdk_1.generateUniqueId({ stackId, rollbackConfigurationRollbackTriggerList, rollbackConfiguration, }), rollbackTriggers: rollbackConfigurationRollbackTriggerList, monitoringTimeInMinutes: rollbackConfiguration?.MonitoringTimeInMinutes || 0, }, stackStatus, stackStatusReason, disableRollback: disableRollback ? translations_1.default.yes : translations_1.default.no, notificationARNs, timeoutInMinutes, capabilities, outputs: outputsList, roleArn: roleArn || '', tags: format_1.formatTagsFromMap(tags), enableTerminationProtection: enableTerminationProtection ? translations_1.default.yes : translations_1.default.no, parentId: parentId || '', rootId: rootId || '', stackDriftInfo: { id: sdk_1.generateUniqueId({ stackId, driftInformation, }), status: driftInformation?.StackDriftStatus || '', lastCheckTimestamp: driftInformation?.LastCheckTimestamp?.toISOString() || '', }, stackDriftList, region, }; };