From 5faaa945a7d1a52ca7f2d45906bf6dbad0e742e5 Mon Sep 17 00:00:00 2001 From: rifflock Date: Wed, 4 May 2016 11:45:45 -0700 Subject: [PATCH] * Change name from Promise to BbPromise to avoid conflict * Add return values on reject (was causing errors to not be properly handled) * missing semicolon --- CF/index.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/CF/index.js b/CF/index.js index 0b4d1ce..76d5571 100644 --- a/CF/index.js +++ b/CF/index.js @@ -3,9 +3,11 @@ * Retrieve CloudFormation information within a lambda. */ -var Promise = require('bluebird'), +var BbPromise = require('bluebird'), AWS = require('aws-sdk'); +var cloudformation = new AWS.CloudFormation({apiVersion: '2010-05-15', region: process.env.SERVERLESS_REGION }); + var CF = { }; @@ -15,24 +17,24 @@ var CF = { CF.loadVars = function () { // Build CF stack name if ((!process.env.SERVERLESS_PROJECT_NAME || !process.env.SERVERLESS_STAGE || !process.env.SERVERLESS_REGION)) { - return Promise.reject(new Error("Serverless environment not set")); + return BbPromise.reject(new Error("Serverless environment not set")); } var stackName = process.env.SERVERLESS_PROJECT_NAME + "-" + process.env.SERVERLESS_STAGE + "-r"; return CF._describeCFStack(stackName) .then(function(stackDescription) { if (!stackDescription.hasOwnProperty('Outputs') || stackDescription.Outputs.constructor !== Array) { - return Promise.reject(new Error("No outputs in stack description")); + return BbPromise.reject(new Error("No outputs in stack description")); } - return Promise.each(stackDescription.Outputs, function (outVar) { + return BbPromise.each(stackDescription.Outputs, function (outVar) { process.env["SERVERLESS_CF_" + outVar.OutputKey] = outVar.OutputValue; return null; }); }) .catch(function (err) { console.log("WARN: Error retrieving CF variables"); - return Promise.reject(err); + return BbPromise.reject(err); }); }; @@ -40,22 +42,20 @@ CF.loadVars = function () { * Get the CF stack description */ CF._describeCFStack = function(stackName) { - return new Promise(function(resolve,reject) { - var cloudformation = new AWS.CloudFormation({apiVersion: '2010-05-15', region: process.env.SERVERLESS_REGION }); - + return new BbPromise(function(resolve,reject) { cloudformation.describeStacks({ StackName: stackName }, function(err, data) { if (err) { - reject(err); + return reject(err); } if (!data || !data.Stacks || data.Stacks.constructor !== Array || data.Stacks.length === 0) { - reject(new Error("invalid response", data)); + return reject(new Error("invalid response", data)); } // Return only the stack description - resolve(data.Stacks[0]); + return resolve(data.Stacks[0]); }); - }) + }); }; module.exports = CF; \ No newline at end of file