serverless/lib/defaults/actions/EndpointDeploy.js
2015-10-25 22:47:43 -05:00

69 lines
1.7 KiB
JavaScript

'use strict';
/**
* Action: DeployEndpoint
*/
const JawsPlugin = require('../../JawsPlugin'),
JawsError = require('../../jaws-error'),
JawsCLI = require('../../utils/cli'),
BbPromise = require('bluebird'),
path = require('path'),
os = require('os'),
AWSUtils = require('../../utils/aws'),
JawsUtils = require('../../utils/index');
let fs = require('fs');
BbPromise.promisifyAll(fs);
class EndpointDeploy extends JawsPlugin {
/**
* @param Jaws class object
* @param config object
*/
constructor(Jaws, config) {
super(Jaws, config);
this._stage = null;
this._region = null;
}
/**
* Define your plugins name
*
* @returns {string}
*/
static getName() {
return 'jaws.core.' + AliasLambda.name;
}
/**
* @returns {Promise} upon completion of all registrations
*/
registerActions() {
this.Jaws.action(this.lambdaCreateAlias.bind(this), {
handler: 'lambdaCreateAlias',
description: `Create alias for lambda at CWD. If 'GREATEST' is specified for <version>, the highest version number for the lambda will be used.
usage: jaws lambda alias <version|GREATEST> <aliasName>`,
context: 'lambda',
contextAction: 'create-alias',
options: [
{
option: 'stage',
shortcut: 's',
description: 'Optional if only one stage is defined in project'
}, {
option: 'region',
shortcut: 'r',
description: 'Optional. Default is to version lambda in all regions defined in stage'
}
],
});
return Promise.resolve();
}
}
module.exports = EndpointDeploy;