UNPKG

aws-resource-remediation

Version:

A module to remediate AWS resources.

42 lines (35 loc) 1.32 kB
/** * 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;