UNPKG

1.23 kBJavaScriptView Raw
1'use strict';
2
3const BbPromise = require('bluebird');
4const initializeResources = require('./lib/initializeResources');
5const deployFunctions = require('./lib/deployFunctions');
6const deployRules = require('./lib/deployRules');
7const deployTriggers = require('./lib/deployTriggers');
8const deployFeeds = require('./lib/deployFeeds');
9const deployApiGw = require('./lib/deployApiGw');
10
11class OpenWhiskDeploy {
12 constructor(serverless, options) {
13 this.serverless = serverless;
14 this.options = options;
15 this.provider = this.serverless.getProvider('openwhisk');
16
17 Object.assign(
18 this,
19 initializeResources,
20 deployFunctions,
21 deployApiGw,
22 deployRules,
23 deployTriggers,
24 deployFeeds
25 );
26
27 this.hooks = {
28 'deploy:initializeResources': () => BbPromise.bind(this).then(this.initializeResources),
29
30 'deploy:deploy': () => BbPromise.bind(this)
31 .then(this.deployFunctions)
32 .then(this.deploySequences)
33 .then(this.deployRoutes)
34 .then(this.deployTriggers)
35 .then(this.deployFeeds)
36 .then(this.deployRules)
37 .then(() => this.serverless.cli.log('Deployment successful!')),
38 };
39 }
40}
41
42module.exports = OpenWhiskDeploy;