aws-resource-remediation
Version:
A module to remediate AWS resources.
42 lines (35 loc) • 1.32 kB
JavaScript
/**
* Created by Sunday on 03/29/2017.
*/
const AWS = require('aws-sdk');
const constants = require('../constants');
var logger = require('node-generic-logger');
function CloudTrailRemediator(ct) {
this.ct = ct;
}
CloudTrailRemediator.prototype.updateParameters=function(invocation, context, lastResult , cb){
var self= this;
if (this.ct == null) {
var awscreds = {
accessKeyId: invocation['aws.credentials.accessKeyId'],
secretAccessKey: invocation['aws.credentials.secretAccessKey'],
region: invocation['region']
};
this.ct = new AWS.CloudTrail({accessKeyId: awscreds.accessKeyId, secretAccessKey: awscreds.secretAccessKey, region: awscreds.region});
}
resourceSplit = context.resourceId.split(":");
var cloudTrailname = resourceSplit[1];
var cloudTrailParam = {
Name: cloudTrailname
};
cloudTrailParam[invocation['parameter']] = invocation['value']
this.ct.updateTrail(cloudTrailParam, function(err, data) {
if (err) {
logger.error('Failed to run updateTrail : ' + err.stack);
return cb(err);
}
logger.info('Remediation done for : '+cloudTrailParam['Name']);
return cb(null, data);
});
}
module.exports = CloudTrailRemediator;