@cloud-carbon-footprint/aws
Version:
The core logic to get cloud usage data and estimate energy and carbon emissions from Amazon Web Services.
41 lines • 2.73 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 ComputeOptimizerRecommendation_1 = __importDefault(require("./ComputeOptimizerRecommendation"));
class EBSCurrentComputeOptimizerRecommendation extends ComputeOptimizerRecommendation_1.default {
constructor(computeOptimizerRecommendationData) {
super(computeOptimizerRecommendationData);
this.accountName = this.accountId;
this.region = this.getRegion(computeOptimizerRecommendationData.volumeArn);
this.type = `EBS-${computeOptimizerRecommendationData.finding}`;
this.volumeType =
computeOptimizerRecommendationData.currentConfiguration_volumeType;
this.volumeSize = parseInt(computeOptimizerRecommendationData.currentConfiguration_volumeSize);
this.description = `${this.volumeType}(${this.volumeSize}GB)`;
this.resourceId = this.getResourceId(computeOptimizerRecommendationData.volumeArn);
this.recommendationOptions = [
{
volumeType: computeOptimizerRecommendationData.recommendationOptions_1_configuration_volumeType,
volumeSize: computeOptimizerRecommendationData.recommendationOptions_1_configuration_volumeSize,
costSavings: computeOptimizerRecommendationData.recommendationOptions_1_estimatedMonthlySavings_value,
performanceRisk: computeOptimizerRecommendationData.recommendationOptions_1_performanceRisk,
},
{
volumeType: computeOptimizerRecommendationData.recommendationOptions_2_configuration_volumeType,
volumeSize: computeOptimizerRecommendationData.recommendationOptions_2_configuration_volumeSize,
costSavings: computeOptimizerRecommendationData.recommendationOptions_2_estimatedMonthlySavings_value,
performanceRisk: computeOptimizerRecommendationData.recommendationOptions_2_performanceRisk,
},
{
volumeType: computeOptimizerRecommendationData.recommendationOptions_3_configuration_volumeType,
volumeSize: computeOptimizerRecommendationData.recommendationOptions_3_configuration_volumeSize,
costSavings: computeOptimizerRecommendationData.recommendationOptions_3_estimatedMonthlySavings_value,
performanceRisk: computeOptimizerRecommendationData.recommendationOptions_3_performanceRisk,
},
];
}
}
exports.default = EBSCurrentComputeOptimizerRecommendation;
//# sourceMappingURL=EBSCurrentComputeOptimizerRecommendation.js.map