@hybridless/hybridless 0.0.82 → 0.0.84-alpha10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +2 -2
  2. package/core/DepsManager.js +90 -0
  3. package/core/DepsManager.js.map +1 -0
  4. package/core/Docker.js +76 -0
  5. package/core/Docker.js.map +1 -0
  6. package/core/Globals.js +110 -0
  7. package/core/Globals.js.map +1 -0
  8. package/core/Logger.js +82 -0
  9. package/core/Logger.js.map +1 -0
  10. package/index.js +397 -0
  11. package/index.js.map +1 -0
  12. package/options.js +87 -0
  13. package/options.js.map +1 -0
  14. package/options.json +7013 -6888
  15. package/package.json +2 -2
  16. package/resources/BaseEvents/FunctionBaseEvent.js +20 -0
  17. package/resources/BaseEvents/FunctionBaseEvent.js.map +1 -0
  18. package/resources/BaseEvents/FunctionContainerBaseEvent.js +187 -0
  19. package/resources/BaseEvents/FunctionContainerBaseEvent.js.map +1 -0
  20. package/resources/Function.js +229 -0
  21. package/resources/Function.js.map +1 -0
  22. package/resources/FunctionBatchJobEvent.js +104 -0
  23. package/resources/FunctionBatchJobEvent.js.map +1 -0
  24. package/resources/FunctionHttpdTaskEvent.js +116 -0
  25. package/resources/FunctionHttpdTaskEvent.js.map +1 -0
  26. package/resources/FunctionLambdaContainerEvent.js +201 -0
  27. package/resources/FunctionLambdaContainerEvent.js.map +1 -0
  28. package/resources/FunctionLambdaEvent.js +161 -0
  29. package/resources/FunctionLambdaEvent.js.map +1 -0
  30. package/resources/FunctionProcessTaskEvent.js +89 -0
  31. package/resources/FunctionProcessTaskEvent.js.map +1 -0
  32. package/resources/FunctionScheduledTaskEvent.js +89 -0
  33. package/resources/FunctionScheduledTaskEvent.js.map +1 -0
  34. package/resources/assets/job-batch/Dockerfile-Job-Nodejs10 +13 -0
  35. package/resources/assets/job-batch/Dockerfile-Job-Nodejs12 +13 -0
  36. package/resources/assets/job-batch/Dockerfile-Job-Nodejs14 +13 -0
  37. package/resources/assets/job-batch/Index-Job-NodejsX +24 -0
  38. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Java11 +8 -0
  39. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Java8 +8 -0
  40. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Java8al12 +8 -0
  41. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Nodejs10 +7 -0
  42. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Nodejs12 +7 -0
  43. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Nodejs14 +7 -0
  44. package/resources/assets/task-httpd/Dockerfile-Httpd-Nodejs10 +15 -0
  45. package/resources/assets/task-httpd/Dockerfile-Httpd-PHP5 +9 -0
  46. package/resources/assets/task-httpd/Dockerfile-Httpd-PHP7 +9 -0
  47. package/resources/assets/task-httpd/Index-Httpd-NodejsX +15 -0
  48. package/resources/assets/task-httpd/healthCheck.php +1 -0
  49. package/resources/assets/task-process/Dockerfile-Process-Nodejs10 +10 -0
  50. package/resources/assets/task-process/Dockerfile-Process-Nodejs13 +10 -0
  51. package/resources/assets/task-scheduled/Dockerfile-Scheduled-Nodejs10 +10 -0
  52. package/resources/assets/task-scheduled/Dockerfile-Scheduled-Nodejs13 +10 -0
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FunctionHTTPDTaskEvent = void 0;
13
+ const FunctionContainerBaseEvent_1 = require("./BaseEvents/FunctionContainerBaseEvent");
14
+ const options_1 = require("../options");
15
+ const Globals_1 = require("../core/Globals");
16
+ const BPromise = require("bluebird");
17
+ class FunctionHTTPDTaskEvent extends FunctionContainerBaseEvent_1.FunctionContainerBaseEvent {
18
+ constructor(plugin, func, event, index) {
19
+ super(plugin, func, event, index);
20
+ this.healthRoute = Globals_1.default.HTTPD_HealthCheckByRuntime(event.runtime);
21
+ }
22
+ getContainerFiles() {
23
+ const event = this.event;
24
+ const customDockerFile = event.dockerFile;
25
+ const serverlessDir = this.plugin.serverless.config.servicePath;
26
+ const additionalDockerFiles = (this.event.additionalDockerFiles || []).map((file) => {
27
+ return { name: file.from, dir: serverlessDir, dest: file.to };
28
+ });
29
+ const isNodeJS = (event && event.runtime && event.runtime.toLowerCase().indexOf('node') != -1);
30
+ const isPHP = (event && event.runtime && event.runtime.toLowerCase().indexOf('php') != -1);
31
+ const isPureContainer = (event.runtime == options_1.OFunctionHttpdTaskRuntime.container);
32
+ let safeDir = __dirname.split('/');
33
+ safeDir.splice(safeDir.length - 1, 1);
34
+ safeDir = safeDir.join('/');
35
+ if (isNodeJS) {
36
+ return [
37
+ (customDockerFile ?
38
+ { name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' } :
39
+ { name: Globals_1.default.HTTPD_ImageByRuntime(event.runtime), dir: safeDir + '/resources/assets', dest: 'Dockerfile' }),
40
+ { name: 'task-httpd/Index-Httpd-NodejsX', dir: safeDir + '/resources/assets', dest: 'proxy.js' },
41
+ (this.plugin.options.disableWebpack ?
42
+ { name: '.', dir: serverlessDir, dest: '/usr/src/app' } :
43
+ { name: '.webpack/service', dir: serverlessDir, dest: '/usr/src/app' }),
44
+ ...additionalDockerFiles
45
+ ];
46
+ }
47
+ else if (isPHP) {
48
+ const handler = this.event.handler || this.func.funcOptions.handler;
49
+ const handleRootFolder = (handler.indexOf('.php') != -1 ? handler.split('/').splice(0, handler.split('/').length - 1).join('/') : handler);
50
+ return [
51
+ (customDockerFile ?
52
+ { name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' } :
53
+ { name: Globals_1.default.HTTPD_ImageByRuntime(event.runtime), dir: safeDir + '/resources/assets', dest: 'Dockerfile' }),
54
+ { name: 'task-httpd/healthCheck.php', dir: safeDir + '/resources/assets', dest: `/app/${this.healthRoute}` },
55
+ { name: handleRootFolder, dir: serverlessDir, dest: '/app/' },
56
+ ...additionalDockerFiles
57
+ ];
58
+ }
59
+ else if (isPureContainer) {
60
+ return [
61
+ { name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' },
62
+ ...additionalDockerFiles
63
+ ];
64
+ }
65
+ else {
66
+ throw new Error(`Unrecognized HTTP event type ${event.runtime}!`);
67
+ }
68
+ }
69
+ getContainerEnvironments() {
70
+ const event = this.event;
71
+ const isPHP = (event && event.runtime && event.runtime.toLowerCase().indexOf('php') != -1);
72
+ const isNodeJS = (event && event.runtime && event.runtime.toLowerCase().indexOf('node') != -1);
73
+ const isPureContainer = (event.runtime == options_1.OFunctionHttpdTaskRuntime.container);
74
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (isNodeJS && Object.assign({ 'HYBRIDLESS_RUNTIME': true, 'AWS_NODEJS_CONNECTION_REUSE_ENABLED': 1, 'ENTRYPOINT': `./${this.func.getEntrypoint(this.event)}`, 'ENTRYPOINT_FUNC': this.func.getEntrypointFunction(this.event) }, (event.cors ? { 'CORS': JSON.stringify(event.cors) } : {})))), (isPHP && {
75
+ 'WEB_DOCUMENT_INDEX': this.func.getEntrypointFunction(this.event)
76
+ })), (isPureContainer && {
77
+ 'ENTRYPOINTY': event.entrypoint
78
+ })), (event.newRelicKey ? {
79
+ 'NEW_RELIC_APP_NAME': `${this.plugin.getName()}-${this.func.getName()}-${this.plugin.stage}`,
80
+ 'NEW_RELIC_LICENSE_KEY': event.newRelicKey,
81
+ 'NEW_RELIC_ENABLED': true,
82
+ 'NEW_RELIC_NO_CONFIG_FILE': true,
83
+ } : {
84
+ 'NEW_RELIC_ENABLED': false
85
+ })), { 'TIMEOUT': (this.func.funcOptions.timeout || Globals_1.default.HTTPD_DefaultTimeout) * 1000, 'PORT': this.getPort(), 'STAGE': this.plugin.stage, 'AWS_REGION': { "Ref": "AWS::Region" }, 'AWS_ACCOUNT_ID': { "Ref": "AWS::AccountId" }, 'ECS_ENABLE_CONTAINER_METADATA': true, 'HEALTH_ROUTE': this.healthRoute });
86
+ }
87
+ getClusterTask() {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ const TaskName = this._getTaskName();
90
+ const ECRRepoFullURL = yield this.getContainerImageURL();
91
+ const event = this.event;
92
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
93
+ resolve(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ name: TaskName, cpu: (event.cpu || Globals_1.default.HTTPD_DefaultCPU), memory: (event.memory || this.func.funcOptions.memory || Globals_1.default.HTTPD_DefaultMemory), taskRoleArn: (event.role || { 'Fn::GetAtt': ['IamRoleLambdaExecution', 'Arn'] }), image: `${ECRRepoFullURL}` }, (event.entrypoint ? { entrypoint: event.entrypoint } : {})), { desiredCount: (event.concurrency || Globals_1.default.HTTPD_DefaultConcurrency), ec2LaunchType: !!event.ec2LaunchType }), (!!event.ec2LaunchType && event.daemonType ? { daemonEc2Type: true } : {})), { environment: Object.assign(Object.assign({}, this.plugin.getEnvironmentIvars()), this.getContainerEnvironments()) }), (event.autoScale && event.autoScale != 'null' ? { autoScale: event.autoScale } : {})), { logsMultilinePattern: (event.logsMultilinePattern || Globals_1.default.DefaultLogsMultilinePattern) }), (event.logsRetentionInDays && event.logsRetentionInDays != 'null' ? { logsRetentionInDays: event.logsRetentionInDays } : {})), (event.placementStrategies && event.placementStrategies != 'null' ? { placementStrategies: event.placementStrategies } : {})), (event.placementConstraints && event.placementConstraints != 'null' ? { placementConstraints: event.placementConstraints } : {})), (event.capacityProviderStrategy && event.capacityProviderStrategy != 'null' ? { capacityProviderStrategy: event.capacityProviderStrategy } : {})), (event.propagateTags && event.propagateTags != 'null' ? { propagateTags: event.propagateTags } : {})), (event.hostname && event.hostname != 'null' ? { hostname: event.hostname } : {})), (event.limitSourceIPs && event.limitSourceIPs != 'null' ? { limitSourceIPs: event.limitSourceIPs } : {})), (event.limitHeaders ? {
94
+ limitHeaders: event.limitHeaders.map((h) => ({ Name: h.name, Value: h.value }))
95
+ } : {})), { path: event.routes.map((route) => {
96
+ return { path: route.path, method: route.method || 'ANY', priority: route.priority || 1 };
97
+ }), healthCheckUri: (event.healthCheckRoute || this.healthRoute), healthCheckProtocol: 'HTTP', healthCheckInterval: (event.healthCheckInterval || Globals_1.default.DefaultHealthCheckInterval), healthCheckTimeout: (event.healthCheckTimeout || Globals_1.default.DefaultHealthCheckTimeout), healthCheckHealthyCount: (event.healthCheckHealthyCount || Globals_1.default.DefaultHealthCheckHealthyCount), healthCheckUnhealthyCount: (event.healthCheckUnhealthyCount || Globals_1.default.DefaultHealthCheckUnhealthCount), listeners: [Object.assign(Object.assign({ port: this.getPort(), albProtocol: (event.certificateArns ? 'HTTPS' : 'HTTP') }, (event.certificateArns ? {
98
+ 'certificateArns': event.certificateArns
99
+ } : {})), (event.certificateArns && event.cognitoAuthorizer ? {
100
+ 'authorizer': {
101
+ poolArn: event.cognitoAuthorizer.poolArn,
102
+ clientId: event.cognitoAuthorizer.clientId,
103
+ poolDomain: event.cognitoAuthorizer.poolDomain
104
+ }
105
+ } : {}))] }));
106
+ }));
107
+ });
108
+ }
109
+ getPort() {
110
+ const event = this.event;
111
+ const isPHP = (event.runtime == options_1.OFunctionHttpdTaskRuntime.php5 || event.runtime == options_1.OFunctionHttpdTaskRuntime.php7);
112
+ return (event.port || ((event.certificateArns && isPHP == false) ? 443 : 80));
113
+ }
114
+ }
115
+ exports.FunctionHTTPDTaskEvent = FunctionHTTPDTaskEvent;
116
+ //# sourceMappingURL=FunctionHttpdTaskEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionHttpdTaskEvent.js","sourceRoot":"","sources":["../src/resources/FunctionHttpdTaskEvent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FunctionLambdaContainerEvent = void 0;
13
+ const FunctionContainerBaseEvent_1 = require("./BaseEvents/FunctionContainerBaseEvent");
14
+ const options_1 = require("../options");
15
+ const Globals_1 = require("../core/Globals");
16
+ const BPromise = require("bluebird");
17
+ class FunctionLambdaContainerEvent extends FunctionContainerBaseEvent_1.FunctionContainerBaseEvent {
18
+ constructor(plugin, func, event, index) {
19
+ super(plugin, func, event, index);
20
+ }
21
+ spread() {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
24
+ const lambda = yield this._generateLambdaFunction();
25
+ this.plugin.appendServerlessFunction(lambda);
26
+ const authorizer = this._generateCognitoAuthorizer();
27
+ if (authorizer)
28
+ this.plugin.appendResource(this._getAuthorizerName(), authorizer);
29
+ if (this.event.protocol == options_1.OFunctionLambdaProtocol.httpAlb &&
30
+ !this.func.funcOptions.albListenerArn) {
31
+ this.plugin.logger.error(`Function event of type httpAlb does require upper element (function) to have albListenerArn set! can't continue.`);
32
+ }
33
+ resolve();
34
+ }));
35
+ });
36
+ }
37
+ checkDependencies() {
38
+ const _super = Object.create(null, {
39
+ checkDependencies: { get: () => super.checkDependencies }
40
+ });
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ return new BPromise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
43
+ yield _super.checkDependencies.call(this);
44
+ if (this.event.logsRetentionInDays)
45
+ this.plugin.depManager.enableLogsRetention();
46
+ resolve();
47
+ }));
48
+ });
49
+ }
50
+ getContainerFiles() {
51
+ const event = this.event;
52
+ const customDockerFile = event.dockerFile;
53
+ const serverlessDir = this.plugin.serverless.config.servicePath;
54
+ const additionalDockerFiles = (this.event.additionalDockerFiles || []).map((file) => {
55
+ return { name: file.from, dir: serverlessDir, dest: file.to };
56
+ });
57
+ const isNodeJS = (event && event.runtime && event.runtime.toLowerCase().indexOf('node') != -1);
58
+ const isJava = (event && event.runtime && event.runtime.toLowerCase().indexOf('java') != -1);
59
+ const isPureContainer = (event.runtime == options_1.OFunctionLambdaContainerRuntime.container);
60
+ let safeDir = __dirname.split('/');
61
+ safeDir.splice(safeDir.length - 1, 1);
62
+ safeDir = safeDir.join('/');
63
+ if (isNodeJS) {
64
+ return [
65
+ (customDockerFile ?
66
+ { name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' } :
67
+ { name: Globals_1.default.LambdaContainer_ImageByRuntime(event.runtime), dir: safeDir + '/resources/assets', dest: 'Dockerfile' }),
68
+ (this.plugin.options.disableWebpack ?
69
+ { name: '.', dir: serverlessDir, dest: '/usr/src/app' } :
70
+ { name: '.webpack/service', dir: serverlessDir, dest: '/usr/src/app' }),
71
+ ...additionalDockerFiles
72
+ ];
73
+ }
74
+ else if (isJava) {
75
+ return [
76
+ (customDockerFile ?
77
+ { name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' } :
78
+ { name: Globals_1.default.LambdaContainer_ImageByRuntime(event.runtime), dir: safeDir + '/resources/assets', dest: 'Dockerfile' }),
79
+ { name: 'target/classes', dir: serverlessDir, dest: 'target/classes' },
80
+ { name: 'target/dependency', dir: serverlessDir, dest: 'target/dependency' },
81
+ ...additionalDockerFiles
82
+ ];
83
+ }
84
+ else if (isPureContainer) {
85
+ return [
86
+ { name: customDockerFile, dir: serverlessDir, dest: 'Dockerfile' },
87
+ ...additionalDockerFiles
88
+ ];
89
+ }
90
+ else {
91
+ throw new Error(`Unrecognized LambdaContainer event type ${event.runtime}!`);
92
+ }
93
+ }
94
+ getContainerEnvironments() {
95
+ const event = this.event;
96
+ const isNodeJS = (event && event.runtime && event.runtime.toLowerCase().indexOf('node') != -1);
97
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, (isNodeJS ? { 'AWS_NODEJS_CONNECTION_REUSE_ENABLED': 1 } : {})), { 'ENTRYPOINT': `${this.func.getEntrypoint(this.event)}`, 'ENTRYPOINT_FUNC': this.func.getEntrypointFunction(this.event) }), (event.protocol == options_1.OFunctionLambdaProtocol.httpAlb && this.event.cors ? { 'CORS': JSON.stringify(this.event.cors) } : {})), { 'STAGE': this.plugin.stage, 'AWS_ACCOUNT_ID': { "Ref": "AWS::AccountId" } });
98
+ }
99
+ _generateLambdaFunction() {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ const event = this.event;
102
+ const repoName = yield this.getContainerImageURL();
103
+ if (!event.protocol)
104
+ this.plugin.logger.error(`Missing protocol for lambda container event ${this._getFunctionName()}. Can't continue!`);
105
+ return {
106
+ [this._getFunctionName()]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ name: `${this.plugin.getName()}-${this.func.getName()}-${this.plugin.stage}`, image: repoName, environment: Object.assign(Object.assign({}, this.plugin.getEnvironmentIvars()), this.getContainerEnvironments()) }, this.func.getVPC(true, true)), (this.func.funcOptions.timeout ? { timeout: this.func.funcOptions.timeout } : { timeout: Globals_1.default.HTTPD_DefaultTimeout })), (this.func.funcOptions.memory || event.memory ? { memorySize: this.func.funcOptions.memory || event.memory } : {})), (event.reservedConcurrency ? { reservedConcurrency: event.reservedConcurrency } : {})), { tracing: (event.disableTracing ? false : true) }), (event.logsRetentionInDays && event.logsRetentionInDays != 'null' ? { logRetentionInDays: event.logsRetentionInDays } : {})), this._getLambdaEvents(event))
107
+ };
108
+ });
109
+ }
110
+ _getLambdaEvents(event) {
111
+ if (event.protocol == options_1.OFunctionLambdaProtocol.none)
112
+ return { events: [] };
113
+ const acceptsRouting = (event.protocol == options_1.OFunctionLambdaProtocol.http || event.protocol == options_1.OFunctionLambdaProtocol.httpAlb);
114
+ const sanitizedRoutes = (acceptsRouting ? (this.event || this.event).routes : [null]);
115
+ return (sanitizedRoutes && sanitizedRoutes.length > 0 ? {
116
+ events: sanitizedRoutes.map((route) => {
117
+ return {
118
+ [this._getProtocolName(event.protocol)]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (this.event.protocolArn ? { arn: this.event.protocolArn } : {})), (this.event.queueBatchSize ? { batchSize: this.event.queueBatchSize } : {})), (this.event.protocol == options_1.OFunctionLambdaProtocol.dynamostreams ? { type: 'dynamodb' } : {})), (this.event.schedulerRate ? { rate: this.event.schedulerRate } : {})), (this.event.schedulerInput ? {
119
+ input: typeof this.event.schedulerInput == 'string' ?
120
+ this.event.schedulerInput : JSON.stringify(this.event.schedulerInput)
121
+ } : {})), (this.event.filterPolicy ? { filterPolicy: this.event.filterPolicy } : {})), (this.event.s3bucket ? {
122
+ s3: Object.assign(Object.assign(Object.assign({ bucket: this.event.s3bucket }, (this.event.s3event ? { event: this.event.s3event } : {})), (this.event.s3bucketExisting ? { existing: true } : {})), (this.event.s3rules ? { rules: this.event.s3rules } : {}))
123
+ } : {})), (this.event.cloudWatchEventSource ? {
124
+ input: (typeof this.event.cloudWatchEventSource == 'string' ?
125
+ this.event.cloudWatchEventSource : JSON.stringify(this.event.cloudWatchEventSource)),
126
+ event: Object.assign(Object.assign(Object.assign({}, (this.event.cloudWatchEventSource ? { source: [this.event.cloudWatchEventSource] } : {})), (this.event.cloudWatchDetailType ? { 'detail-type': [this.event.cloudWatchDetailType] } : {})), (this.event.cloudWatchDetailState ? { detail: { state: [this.event.cloudWatchDetailType] } } : {}))
127
+ } : {})), (this.event.cloudWatchLogGroup ? Object.assign({ logGroup: this.event.cloudWatchLogGroup }, (this.event.cloudWatchLogFilter ? { filter: this.event.cloudWatchLogFilter } : {})) : {})), (this.event.cognitoTrigger ? {
128
+ pool: this.event.cognitoUserPoolArn,
129
+ trigger: this.event.cognitoTrigger,
130
+ } : {})), (this.event.protocol == options_1.OFunctionLambdaProtocol.http ? Object.assign(Object.assign({ path: (route.path || '').replace(/\*/g, '{proxy+}'), method: route.method || 'ANY' }, (this.event.cors ? { cors: this.event.cors } : {})), (this.event.cognitoAuthorizerArn ? {
131
+ "authorizer": {
132
+ "type": "COGNITO_USER_POOLS",
133
+ "authorizerId": { "Ref": this._getAuthorizerName() }
134
+ }
135
+ } : {})) : {})), (this.event.protocol == options_1.OFunctionLambdaProtocol.httpAlb ? Object.assign(Object.assign({ listenerArn: this.func.funcOptions.albListenerArn, priority: route.priority || 1, conditions: Object.assign(Object.assign(Object.assign(Object.assign({ path: (route.path || '').replace(/\*/g, '{proxy+}') }, (route && route.method ? { method: route.method } : {})), (route && route.hostname ? { host: route.hostname } : {})), (this.event.limitHeader ? {
136
+ header: { name: this.event.limitHeader.name, values: this.event.limitHeader.value }
137
+ } : {})), (this.event.limitSourceIPs ? {
138
+ ip: this.event.limitSourceIPs
139
+ } : {})) }, (this.event.healthCheckRoute ? {
140
+ healthCheck: {
141
+ path: this.event.healthCheckRoute,
142
+ intervalSeconds: this.event.healthCheckInterval || Globals_1.default.DefaultHealthCheckInterval,
143
+ timeoutSeconds: this.event.healthCheckTimeout || Globals_1.default.DefaultHealthCheckTimeout,
144
+ healthyThresholdCount: this.event.healthCheckHealthyCount || Globals_1.default.DefaultHealthCheckHealthyCount,
145
+ unhealthyThresholdCount: this.event.healthCheckUnhealthyCount || Globals_1.default.DefaultHealthCheckUnhealthCount,
146
+ }
147
+ } : {})), (this.event.cognitoAuthorizer ? {
148
+ authorizers: {
149
+ authorizer: {
150
+ type: 'cognito',
151
+ userPoolArn: this.event.cognitoAuthorizer.poolArn,
152
+ userPoolClientId: this.event.cognitoAuthorizer.clientId,
153
+ userPoolDomain: this.event.cognitoAuthorizer.poolDomain,
154
+ }
155
+ }
156
+ } : {})) : {}))
157
+ };
158
+ })
159
+ } : {});
160
+ }
161
+ _generateCognitoAuthorizer() {
162
+ if (this.event.cognitoAuthorizerArn &&
163
+ this.event.protocol == options_1.OFunctionLambdaProtocol.http) {
164
+ return {
165
+ 'Type': 'AWS::ApiGateway::Authorizer',
166
+ 'Properties': {
167
+ 'AuthorizerResultTtlInSeconds': 300,
168
+ 'IdentitySource': 'method.request.header.Authorization',
169
+ 'Name': this._getAuthorizerName(),
170
+ 'RestApiId': { 'Ref': 'ApiGatewayRestApi' },
171
+ 'Type': 'COGNITO_USER_POOLS',
172
+ 'ProviderARNs': [this.event.cognitoAuthorizerArn]
173
+ }
174
+ };
175
+ }
176
+ return null;
177
+ }
178
+ _getProtocolName(proto) {
179
+ if (proto == options_1.OFunctionLambdaProtocol.dynamostreams)
180
+ return 'stream';
181
+ else if (proto == options_1.OFunctionLambdaProtocol.scheduler)
182
+ return 'schedule';
183
+ else if (proto == options_1.OFunctionLambdaProtocol.cloudWatch)
184
+ return 'cloudwatchEvent';
185
+ else if (proto == options_1.OFunctionLambdaProtocol.cloudWatchLogstream)
186
+ return 'cloudwatchLog';
187
+ else if (proto == options_1.OFunctionLambdaProtocol.cognito)
188
+ return 'cognitoUserPool';
189
+ else if (proto == options_1.OFunctionLambdaProtocol.httpAlb)
190
+ return 'alb';
191
+ return proto;
192
+ }
193
+ _getFunctionName(suffix) {
194
+ return `${this.plugin.getName()}${this.func.getName()}${this.plugin.stage}` + (suffix || '');
195
+ }
196
+ _getAuthorizerName() {
197
+ return this._getFunctionName('Authorizer');
198
+ }
199
+ }
200
+ exports.FunctionLambdaContainerEvent = FunctionLambdaContainerEvent;
201
+ //# sourceMappingURL=FunctionLambdaContainerEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionLambdaContainerEvent.js","sourceRoot":"","sources":["../src/resources/FunctionLambdaContainerEvent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FunctionLambdaEvent = void 0;
13
+ const FunctionBaseEvent_1 = require("./BaseEvents/FunctionBaseEvent");
14
+ const options_1 = require("../options");
15
+ const BPromise = require("bluebird");
16
+ const Globals_1 = require("../core/Globals");
17
+ class FunctionLambdaEvent extends FunctionBaseEvent_1.FunctionBaseEvent {
18
+ constructor(plugin, func, event, index) {
19
+ super(plugin, func, event, index);
20
+ }
21
+ spread() {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
24
+ const lambda = this._generateLambdaFunction();
25
+ this.plugin.appendServerlessFunction(lambda);
26
+ const authorizer = this._generateCognitoAuthorizer();
27
+ if (authorizer)
28
+ this.plugin.appendResource(this._getAuthorizerName(), authorizer);
29
+ resolve();
30
+ }));
31
+ });
32
+ }
33
+ checkDependencies() {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ return new BPromise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
36
+ if (this.event.runtime && this.event.runtime.toLowerCase().indexOf('node') != -1 && !this.plugin.options.disableWebpack)
37
+ this.plugin.depManager.enableWebpack();
38
+ if (this.event.runtime && this.event.runtime.toLowerCase().indexOf('java') != -1 && !this.plugin.options.disableWebpack)
39
+ this.plugin.depManager.enableMvn();
40
+ if (this.event.logsRetentionInDays)
41
+ this.plugin.depManager.enableLogsRetention();
42
+ resolve();
43
+ }));
44
+ });
45
+ }
46
+ createRequiredResources() {
47
+ return __awaiter(this, void 0, void 0, function* () { return BPromise.resolve(); });
48
+ }
49
+ build() {
50
+ return __awaiter(this, void 0, void 0, function* () { return BPromise.resolve(); });
51
+ }
52
+ push() {
53
+ return __awaiter(this, void 0, void 0, function* () { return BPromise.resolve(); });
54
+ }
55
+ cleanup() {
56
+ return __awaiter(this, void 0, void 0, function* () { return BPromise.resolve(); });
57
+ }
58
+ _generateLambdaFunction() {
59
+ const event = this.event;
60
+ const isJava = (event && event.runtime && event.runtime.toLowerCase().indexOf('java') != -1);
61
+ if (!this.event.protocol)
62
+ this.plugin.logger.error(`Missing protocol for lambda event ${this._getFunctionName()}. Can't continue!`);
63
+ return {
64
+ [this._getFunctionName()]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ name: `${this.plugin.getName()}-${this.func.getName()}-${this.plugin.stage}`, environment: Object.assign(Object.assign({}, this.plugin.getEnvironmentIvars()), this._getLambdaEnvironments()), handler: this.event.handler || this.func.funcOptions.handler }, this.func.getVPC(true, true)), (this.func.funcOptions.timeout ? { timeout: this.func.funcOptions.timeout } : { timeout: Globals_1.default.HTTPD_DefaultTimeout })), (this.func.funcOptions.memory || this.event.memory ? { memorySize: this.func.funcOptions.memory || this.event.memory } : {})), (this.event.runtime ? { runtime: this.event.runtime } : {})), (this.event.layers ? { layers: this.event.layers } : {})), (this.event.package ? { package: this.event.package } : {})), (this.event.reservedConcurrency ? { reservedConcurrency: this.event.reservedConcurrency } : {})), { tracing: (this.event.disableTracing ? false : true) }), (event.logsRetentionInDays && event.logsRetentionInDays != 'null' ? { logRetentionInDays: event.logsRetentionInDays } : {})), (isJava ? {
65
+ package: { artifact: `target/${this.plugin.getName()}-${this.plugin.stage}.jar`, individually: true }
66
+ } : {})), this._getLambdaEvents())
67
+ };
68
+ }
69
+ _getLambdaEvents() {
70
+ if (this.event.protocol == options_1.OFunctionLambdaProtocol.none)
71
+ return { events: [] };
72
+ const acceptsRouting = (this.event.protocol == options_1.OFunctionLambdaProtocol.http || this.event.protocol == options_1.OFunctionLambdaProtocol.httpAlb);
73
+ const sanitizedRoutes = (acceptsRouting ? (this.event || this.event).routes : [null]);
74
+ return (sanitizedRoutes && sanitizedRoutes.length > 0 ? {
75
+ events: sanitizedRoutes.map((route) => {
76
+ return {
77
+ [this._getProtocolName(this.event.protocol)]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (this.event.protocolArn ? { arn: this.event.protocolArn } : {})), (this.event.queueBatchSize ? { batchSize: this.event.queueBatchSize } : {})), (this.event.protocol == options_1.OFunctionLambdaProtocol.dynamostreams ? { type: 'dynamodb' } : {})), (this.event.schedulerRate ? { rate: [this.event.schedulerRate] } : {})), (this.event.schedulerInput ? {
78
+ input: typeof this.event.schedulerInput == 'string' ?
79
+ this.event.schedulerInput : JSON.stringify(this.event.schedulerInput)
80
+ } : {})), (this.event.filterPolicy ? { filterPolicy: this.event.filterPolicy } : {})), (this.event.s3bucket ? Object.assign(Object.assign(Object.assign({ bucket: this.event.s3bucket }, (this.event.s3event ? { event: this.event.s3event } : {})), (this.event.s3bucketExisting ? { existing: true } : {})), (this.event.s3rules ? { rules: this.event.s3rules } : {})) : {})), (this.event.cloudWatchEventSource ? {
81
+ input: (typeof this.event.cloudWatchEventSource == 'string' ?
82
+ this.event.cloudWatchEventSource : JSON.stringify(this.event.cloudWatchEventSource)),
83
+ event: Object.assign(Object.assign(Object.assign({}, (this.event.cloudWatchEventSource ? { source: [this.event.cloudWatchEventSource] } : {})), (this.event.cloudWatchDetailType ? { 'detail-type': [this.event.cloudWatchDetailType] } : {})), (this.event.cloudWatchDetailState ? { detail: { state: [this.event.cloudWatchDetailType] } } : {}))
84
+ } : {})), (this.event.cloudWatchLogGroup ? Object.assign({ logGroup: this.event.cloudWatchLogGroup }, (this.event.cloudWatchLogFilter ? { filter: this.event.cloudWatchLogFilter } : {})) : {})), (this.event.cognitoTrigger ? {
85
+ pool: this.event.cognitoUserPoolArn,
86
+ trigger: this.event.cognitoTrigger,
87
+ } : {})), (this.event.protocol == options_1.OFunctionLambdaProtocol.http ? Object.assign(Object.assign({ path: (route.path || '').replace(/\*/g, '{proxy+}'), method: route.method || 'ANY' }, (this.event.cors ? { cors: this.event.cors } : {})), (this.event.cognitoAuthorizerArn ? {
88
+ "authorizer": {
89
+ "type": "COGNITO_USER_POOLS",
90
+ "authorizerId": { "Ref": this._getAuthorizerName() }
91
+ }
92
+ } : {})) : {})), (this.event.protocol == options_1.OFunctionLambdaProtocol.httpAlb ? Object.assign(Object.assign({ listenerArn: this.func.funcOptions.albListenerArn, priority: route.priority || 1, conditions: Object.assign(Object.assign(Object.assign(Object.assign({ path: (route.path || '').replace(/\*/g, '{proxy+}') }, (route && route.method ? { method: route.method } : {})), (route && route.hostname ? { host: route.hostname } : {})), (this.event.limitHeader ? {
93
+ header: { name: this.event.limitHeader.name, values: this.event.limitHeader.value }
94
+ } : {})), (this.event.limitSourceIPs ? {
95
+ ip: this.event.limitSourceIPs
96
+ } : {})) }, (this.event.healthCheckRoute ? {
97
+ healthCheck: {
98
+ path: this.event.healthCheckRoute,
99
+ intervalSeconds: this.event.healthCheckInterval || Globals_1.default.DefaultHealthCheckInterval,
100
+ timeoutSeconds: this.event.healthCheckTimeout || Globals_1.default.DefaultHealthCheckTimeout,
101
+ healthyThresholdCount: this.event.healthCheckHealthyCount || Globals_1.default.DefaultHealthCheckHealthyCount,
102
+ unhealthyThresholdCount: this.event.healthCheckUnhealthyCount || Globals_1.default.DefaultHealthCheckUnhealthCount,
103
+ }
104
+ } : {})), (this.event.cognitoAuthorizer ? {
105
+ authorizers: {
106
+ authorizer: {
107
+ type: 'cognito',
108
+ userPoolArn: this.event.cognitoAuthorizer.poolArn,
109
+ userPoolClientId: this.event.cognitoAuthorizer.clientId,
110
+ userPoolDomain: this.event.cognitoAuthorizer.poolDomain,
111
+ }
112
+ }
113
+ } : {})) : {}))
114
+ };
115
+ })
116
+ } : {});
117
+ }
118
+ ;
119
+ _getLambdaEnvironments() {
120
+ return Object.assign({}, (this.event.protocol == options_1.OFunctionLambdaProtocol.httpAlb && this.event.cors ? { 'CORS': JSON.stringify(this.event.cors) } : {}));
121
+ }
122
+ _generateCognitoAuthorizer() {
123
+ if (this.event.cognitoAuthorizerArn) {
124
+ return {
125
+ 'Type': 'AWS::ApiGateway::Authorizer',
126
+ 'Properties': {
127
+ 'AuthorizerResultTtlInSeconds': 300,
128
+ 'IdentitySource': 'method.request.header.Authorization',
129
+ 'Name': this._getAuthorizerName(),
130
+ 'RestApiId': { 'Ref': 'ApiGatewayRestApi' },
131
+ 'Type': 'COGNITO_USER_POOLS',
132
+ 'ProviderARNs': [this.event.cognitoAuthorizerArn]
133
+ }
134
+ };
135
+ }
136
+ return null;
137
+ }
138
+ _getProtocolName(proto) {
139
+ if (proto == options_1.OFunctionLambdaProtocol.dynamostreams)
140
+ return 'stream';
141
+ else if (proto == options_1.OFunctionLambdaProtocol.scheduler)
142
+ return 'schedule';
143
+ else if (proto == options_1.OFunctionLambdaProtocol.cloudWatch)
144
+ return 'cloudwatchEvent';
145
+ else if (proto == options_1.OFunctionLambdaProtocol.cloudWatchLogstream)
146
+ return 'cloudwatchLog';
147
+ else if (proto == options_1.OFunctionLambdaProtocol.cognito)
148
+ return 'cognitoUserPool';
149
+ else if (proto == options_1.OFunctionLambdaProtocol.httpAlb)
150
+ return 'alb';
151
+ return proto;
152
+ }
153
+ _getFunctionName(suffix) {
154
+ return `${this.plugin.getName()}${this.func.getName()}${this.plugin.stage}` + (suffix || '');
155
+ }
156
+ _getAuthorizerName() {
157
+ return this._getFunctionName('Authorizer');
158
+ }
159
+ }
160
+ exports.FunctionLambdaEvent = FunctionLambdaEvent;
161
+ //# sourceMappingURL=FunctionLambdaEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionLambdaEvent.js","sourceRoot":"","sources":["../src/resources/FunctionLambdaEvent.ts"],"names":[],"mappings":"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"}