diff --git a/lib/main.js b/lib/main.js index 1c84946..3e1a2d5 100644 --- a/lib/main.js +++ b/lib/main.js @@ -38,7 +38,6 @@ Lambda.prototype._resolve_refs = function( $config ) { $config.AWS_SECRET = process.env[ $config.AWS_SECRET.Ref.split('env.')[1] ] } - if ( (typeof $config.Role === "object") && Object.prototype.hasOwnProperty.call( $config.Role , 'Ref') && @@ -49,6 +48,16 @@ Lambda.prototype._resolve_refs = function( $config ) { $config.Role = process.env[ $config.Role.Ref.split('env.')[1] ] } + if ( + (typeof $config.FunctionName === "object") && + Object.prototype.hasOwnProperty.call( $config.FunctionName , 'Ref') && + (typeof $config.FunctionName.Ref === "string") && + ($config.FunctionName.Ref.indexOf('env.') === 0) + ) { + this.envs[ $config.FunctionName.Ref.split('env.')[1] ] = process.env[ $config.FunctionName.Ref.split('env.')[1] ] + $config.FunctionName = process.env[ $config.FunctionName.Ref.split('env.')[1] ] + } + return $config; } @@ -165,6 +174,15 @@ Lambda.prototype.deploy = function( program ) { ) $config.Role = process.env[ $config.Role.Ref.split('env.')[1] ] + if ( + (typeof $config.FunctionName === "object") && + Object.prototype.hasOwnProperty.call( $config.FunctionName , 'Ref') && + (typeof $config.FunctionName.Ref === "string") && + ($config.FunctionName.Ref.indexOf('env.') === 0) + ) { + $config.FunctionName = process.env[ $config.FunctionName.Ref.split('env.')[1] ] + } + if (!$config.FunctionName) $config.FunctionName = program.split('/').slice(-1)[0]