serverless
Version:
Serverless Framework - Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more
37 lines (28 loc) • 1.13 kB
JavaScript
'use strict';
const BbPromise = require('bluebird');
const validate = require('./lib/validate');
const compileTargetGroups = require('./lib/targetGroups');
const compileListenerRules = require('./lib/listenerRules');
const compilePermissions = require('./lib/permissions');
class AwsCompileAlbEvents {
constructor(serverless, options) {
this.serverless = serverless;
this.options = options;
this.provider = this.serverless.getProvider('aws');
Object.assign(this, validate, compileTargetGroups, compileListenerRules, compilePermissions);
this.hooks = {
'package:compileEvents': () => {
return BbPromise.try(() => {
this.validated = this.validate();
if (this.validated.events.length === 0) return;
this.compileTargetGroups();
this.compileListenerRules();
this.compilePermissions();
});
},
};
// TODO: Complete schema, see https://github.com/serverless/serverless/issues/8020
this.serverless.configSchemaHandler.defineFunctionEvent('aws', 'alb', { type: 'object' });
}
}
module.exports = AwsCompileAlbEvents;