1 | 'use strict';
|
2 |
|
3 | const BbPromise = require('bluebird');
|
4 | const initializeResources = require('./lib/initializeResources');
|
5 | const deployFunctions = require('./lib/deployFunctions');
|
6 | const deployRules = require('./lib/deployRules');
|
7 | const deployTriggers = require('./lib/deployTriggers');
|
8 | const deployFeeds = require('./lib/deployFeeds');
|
9 | const deployApiGw = require('./lib/deployApiGw');
|
10 |
|
11 | class 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 |
|
42 | module.exports = OpenWhiskDeploy;
|