@csermet/multiprovider
Version:
cloud-graph provider plugin for AWS used to fetch AWS cloud data.
65 lines (64 loc) • 3.31 kB
JavaScript
"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 { StackSetName: stackSetName, StackSetId: stackSetId, Description: description, Status: status, TemplateBody: templateBody, Parameters: parameters = [], Capabilities: capabilities, Tags: tags, StackSetARN: stackSetARN, AdministrationRoleARN: administrationRoleARN, ExecutionRoleName: executionRoleName, StackSetDriftDetectionDetails: stackSetDriftDetectionDetails, AutoDeployment: autoDeployment, PermissionModel: permissionModel, OrganizationalUnitIds: organizationalUnitIds, } = rawData;
const parameterList = parameters.map(({ ParameterKey: parameterKey, ParameterValue: parameterValue, UsePreviousValue: usePreviousValue, ResolvedValue: resolvedValue, }) => {
return {
id: sdk_1.generateUniqueId({
stackSetARN,
parameterKey,
parameterValue,
usePreviousValue,
resolvedValue,
}),
parameterKey,
parameterValue,
usePreviousValue: usePreviousValue ? translations_1.default.yes : translations_1.default.no,
resolvedValue,
};
});
return {
id: stackSetId,
arn: stackSetARN,
name: stackSetName,
accountId,
description,
status,
templateBody,
parameters: parameterList,
capabilities,
tags: format_1.formatTagsFromMap(tags),
administrationRoleARN,
executionRoleName,
driftDetectionDetail: {
id: sdk_1.generateUniqueId({
stackSetARN,
stackSetDriftDetectionDetails,
}),
driftStatus: stackSetDriftDetectionDetails?.DriftStatus || '',
driftDetectionStatus: stackSetDriftDetectionDetails?.DriftDetectionStatus || '',
lastDriftCheckTimestamp: stackSetDriftDetectionDetails?.LastDriftCheckTimestamp?.toISOString() ||
'',
totalStackInstancesCount: stackSetDriftDetectionDetails?.TotalStackInstancesCount || 0,
driftedStackInstancesCount: stackSetDriftDetectionDetails?.DriftedStackInstancesCount || 0,
inSyncStackInstancesCount: stackSetDriftDetectionDetails?.InSyncStackInstancesCount || 0,
inProgressStackInstancesCount: stackSetDriftDetectionDetails?.InProgressStackInstancesCount || 0,
failedStackInstancesCount: stackSetDriftDetectionDetails?.FailedStackInstancesCount || 0,
},
autoDeploymentConfig: {
enabled: autoDeployment?.Enabled ? translations_1.default.yes : translations_1.default.no,
retainStacksOnAccountRemoval: autoDeployment?.RetainStacksOnAccountRemoval
? translations_1.default.yes
: translations_1.default.no,
},
permissionModel,
organizationalUnitIds,
region,
};
};