in server/server.js [6:39]
exports.myHandler = function(event, context, callback) {
var widgetDefinition = { MetricWidget: {} } ;
widgetDefinition.MetricWidget = event.queryStringParameters.widgetDefinition ;
let accountId = event.queryStringParameters.accountId ;
console.log('accountId: ' + accountId);
console.log('widgetDefinition: ' + JSON.stringify(widgetDefinition));
let role = event.queryStringParameters.role ;
let thisAcctId = context.invokedFunctionArn.split(":")[4] ;
if (accountId !== null && accountId !== '' && accountId != thisAcctId) {
let roleArn = `arn:aws:iam::${accountId}:role/${role}`;
console.log("Assuming role: "+roleArn);
let sts = new AWS.STS() ;
sts.assumeRole({RoleArn: roleArn, RoleSessionName: 'SnapshotGraphs'}, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else { // successful response
console.log(JSON.stringify(data))
let tempCredentials = new AWS.Credentials(data.Credentials.AccessKeyId,
data.Credentials.SecretAccessKey,
data.Credentials.SessionToken)
getWidget(widgetDefinition, callback, tempCredentials);
}
});
} else
getWidget(widgetDefinition, callback);
}