@cloud-carbon-footprint/aws
Version:
The core logic to get cloud usage data and estimate energy and carbon emissions from Amazon Web Services.
24 lines • 1.4 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 RightsizingTargetRecommendation extends RightsizingRecommendation_1.default {
constructor(rightsizingRecommendationData) {
super(rightsizingRecommendationData);
const targetInstance = rightsizingRecommendationData.ModifyRecommendationDetail.TargetInstances.pop();
this.accountId = rightsizingRecommendationData.AccountId;
this.type = rightsizingRecommendationData.RightsizingType;
this.region = this.getMappedRegion(targetInstance.ResourceDetails.EC2ResourceDetails.Region);
this.instanceName = 'Recommend new instance';
this.instanceType =
targetInstance.ResourceDetails.EC2ResourceDetails.InstanceType;
this.vCpuHours = this.getVCpuHours(targetInstance.ResourceDetails.EC2ResourceDetails);
this.costSavings = parseFloat(targetInstance.EstimatedMonthlySavings);
this.usageAmount = (0, common_1.getHoursInMonth)();
}
}
exports.default = RightsizingTargetRecommendation;
//# sourceMappingURL=RightsizingTargetRecommendation.js.map