@cloud-carbon-footprint/aws
Version:
The core logic to get cloud usage data and estimate energy and carbon emissions from Amazon Web Services.
29 lines • 1.63 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 common_1 = require("@cloud-carbon-footprint/common");
const RightsizingRecommendation_1 = __importDefault(require("./RightsizingRecommendation"));
class RightsizingCurrentRecommendation extends RightsizingRecommendation_1.default {
constructor(rightsizingRecommendationData) {
super(rightsizingRecommendationData);
this.accountId = rightsizingRecommendationData.AccountId;
this.type = rightsizingRecommendationData.RightsizingType;
this.region = this.getMappedRegion(rightsizingRecommendationData.CurrentInstance.ResourceDetails
.EC2ResourceDetails.Region);
this.instanceName =
rightsizingRecommendationData.CurrentInstance.InstanceName;
this.instanceType =
rightsizingRecommendationData.CurrentInstance.ResourceDetails.EC2ResourceDetails.InstanceType;
this.vCpuHours = this.getVCpuHours(rightsizingRecommendationData.CurrentInstance.ResourceDetails
.EC2ResourceDetails);
this.resourceId = rightsizingRecommendationData.CurrentInstance.ResourceId;
this.costSavings =
parseFloat(rightsizingRecommendationData.TerminateRecommendationDetail
?.EstimatedMonthlySavings) || 0;
this.usageAmount = (0, common_1.getHoursInMonth)();
}
}
exports.default = RightsizingCurrentRecommendation;
//# sourceMappingURL=RightsizingCurrentRecommendation.js.map