@ixor/aws-cdk-ixor-lambda 1.1.0 → 1.2.0-rc-14
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.
package/bitbucket-pipelines.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
image: node:
|
|
1
|
+
image: node:18
|
|
2
2
|
|
|
3
3
|
pipelines:
|
|
4
4
|
branches:
|
|
@@ -6,8 +6,8 @@ pipelines:
|
|
|
6
6
|
- step:
|
|
7
7
|
name: "Release patch version to npm"
|
|
8
8
|
script:
|
|
9
|
-
- git clone -b
|
|
10
|
-
- LIB_DIR=/bb-aws-utils/lib source /bb-aws-utils/lib/load.bash
|
|
9
|
+
- git clone -b feature/AWS-322-move-all-npmjs-packages-to-aws git@bitbucket.org:ixorcvba/ixor-bb-aws-utils.git /ixor-bb-aws-utils
|
|
10
|
+
- LIB_DIR=/ixor-bb-aws-utils/lib source /ixor-bb-aws-utils/lib/load.bash
|
|
11
11
|
- export NPM_TOKEN="$(aws_get_ssm_parameter_by_name NPM_TOKEN)"
|
|
12
12
|
- install_jq
|
|
13
13
|
- npm ci
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FunctionProps, IFunction, Function } from 'aws-cdk-lib/aws-lambda';
|
|
1
|
+
import { FunctionProps, IFunction, Function, DockerImageFunctionProps, DockerImageFunction } from 'aws-cdk-lib/aws-lambda';
|
|
2
2
|
import { Schedule } from 'aws-cdk-lib/aws-events';
|
|
3
3
|
import { Construct } from 'constructs';
|
|
4
4
|
interface IxorLambdaFunctionProps extends FunctionProps {
|
|
@@ -7,7 +7,16 @@ interface IxorLambdaFunctionProps extends FunctionProps {
|
|
|
7
7
|
keepWarmLambdaFunction?: IFunction;
|
|
8
8
|
keepWarmCount?: number;
|
|
9
9
|
}
|
|
10
|
+
interface IxorDockerImageFunctionProps extends DockerImageFunctionProps {
|
|
11
|
+
keepWarm?: boolean;
|
|
12
|
+
keepWarmEventSchedule?: Schedule;
|
|
13
|
+
keepWarmLambdaFunction?: IFunction;
|
|
14
|
+
keepWarmCount?: number;
|
|
15
|
+
}
|
|
10
16
|
export declare class IxorFunction extends Function {
|
|
11
17
|
constructor(scope: Construct, id: string, props: IxorLambdaFunctionProps);
|
|
12
18
|
}
|
|
19
|
+
export declare class IxorDockerImageFunction extends DockerImageFunction {
|
|
20
|
+
constructor(scope: Construct, id: string, props: IxorDockerImageFunctionProps);
|
|
21
|
+
}
|
|
13
22
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IxorFunction = void 0;
|
|
3
|
+
exports.IxorDockerImageFunction = exports.IxorFunction = void 0;
|
|
4
4
|
const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
|
|
5
5
|
const aws_events_1 = require("aws-cdk-lib/aws-events");
|
|
6
6
|
const aws_events_targets_1 = require("aws-cdk-lib/aws-events-targets");
|
|
@@ -27,4 +27,27 @@ class IxorFunction extends aws_lambda_1.Function {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
exports.IxorFunction = IxorFunction;
|
|
30
|
-
|
|
30
|
+
class IxorDockerImageFunction extends aws_lambda_1.DockerImageFunction {
|
|
31
|
+
constructor(scope, id, props) {
|
|
32
|
+
var _a;
|
|
33
|
+
super(scope, id, props);
|
|
34
|
+
const keepWarmCount = (_a = props.keepWarmCount) !== null && _a !== void 0 ? _a : 2;
|
|
35
|
+
const event = {
|
|
36
|
+
"count": keepWarmCount,
|
|
37
|
+
"lambdaArn": this.functionArn
|
|
38
|
+
};
|
|
39
|
+
if (props.keepWarm && props.keepWarmLambdaFunction) {
|
|
40
|
+
if (!props.keepWarmEventSchedule) {
|
|
41
|
+
props.keepWarmEventSchedule = aws_events_1.Schedule.cron({
|
|
42
|
+
minute: '0/10',
|
|
43
|
+
hour: '7-19',
|
|
44
|
+
day: '*W'
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
let rule = new aws_events_1.Rule(scope, `keepWarm-${this.node.id}`, { schedule: props.keepWarmEventSchedule });
|
|
48
|
+
rule.addTarget(new aws_events_targets_1.LambdaFunction(props.keepWarmLambdaFunction, { event: aws_events_1.RuleTargetInput.fromObject(event) }));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.IxorDockerImageFunction = IxorDockerImageFunction;
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWNkay1peG9yLWxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1jZGstaXhvci1sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQXlIO0FBQ3pILHVEQUF1RTtBQUN2RSx1RUFBNkQ7QUFpQjdELE1BQWEsWUFBYSxTQUFRLHFCQUFRO0lBQ3RDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEI7O1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLE1BQU0sYUFBYSxTQUFHLEtBQUssQ0FBQyxhQUFhLG1DQUFJLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRztZQUNWLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUNoQyxDQUFBO1FBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsRUFBRTtZQUNoRCxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFO2dCQUM5QixLQUFLLENBQUMscUJBQXFCLEdBQUcscUJBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQ3hDLE1BQU0sRUFBRSxNQUFNO29CQUNkLElBQUksRUFBRSxNQUFNO29CQUNaLEdBQUcsRUFBRSxJQUFJO2lCQUNaLENBQUMsQ0FBQTthQUNMO1lBQ0QsSUFBSSxJQUFJLEdBQUcsSUFBSSxpQkFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLHFCQUFxQixFQUFDLENBQUMsQ0FBQztZQUNoRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksbUNBQWMsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsRUFBQyxLQUFLLEVBQUUsNEJBQWUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUE7U0FDL0c7SUFDTCxDQUFDO0NBQ0o7QUF0QkQsb0NBc0JDO0FBRUQsTUFBYSx1QkFBd0IsU0FBUSxnQ0FBbUI7SUFDNUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFtQzs7UUFDekUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsTUFBTSxhQUFhLFNBQUcsS0FBSyxDQUFDLGFBQWEsbUNBQUksQ0FBQyxDQUFDO1FBQy9DLE1BQU0sS0FBSyxHQUFHO1lBQ1YsT0FBTyxFQUFFLGFBQWE7WUFDdEIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQ2hDLENBQUE7UUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLHNCQUFzQixFQUFFO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUU7Z0JBQzlCLEtBQUssQ0FBQyxxQkFBcUIsR0FBRyxxQkFBUSxDQUFDLElBQUksQ0FBQztvQkFDeEMsTUFBTSxFQUFFLE1BQU07b0JBQ2QsSUFBSSxFQUFFLE1BQU07b0JBQ1osR0FBRyxFQUFFLElBQUk7aUJBQ1osQ0FBQyxDQUFBO2FBQ0w7WUFDRCxJQUFJLElBQUksR0FBRyxJQUFJLGlCQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMscUJBQXFCLEVBQUMsQ0FBQyxDQUFDO1lBQ2hHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxtQ0FBYyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxFQUFDLEtBQUssRUFBRSw0QkFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQTtTQUMvRztJQUNMLENBQUM7Q0FDSjtBQXRCRCwwREFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Z1bmN0aW9uUHJvcHMsIElGdW5jdGlvbiwgRnVuY3Rpb24sIERvY2tlckltYWdlRnVuY3Rpb25Qcm9wcywgRG9ja2VySW1hZ2VGdW5jdGlvbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQge1NjaGVkdWxlLCBSdWxlLCBSdWxlVGFyZ2V0SW5wdXR9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0IHtMYW1iZGFGdW5jdGlvbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzJ1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gJ2NvbnN0cnVjdHMnXG5cbmludGVyZmFjZSBJeG9yTGFtYmRhRnVuY3Rpb25Qcm9wcyBleHRlbmRzIEZ1bmN0aW9uUHJvcHMge1xuICAgIGtlZXBXYXJtPzogYm9vbGVhbixcbiAgICBrZWVwV2FybUV2ZW50U2NoZWR1bGU/OiBTY2hlZHVsZSxcbiAgICBrZWVwV2FybUxhbWJkYUZ1bmN0aW9uPzogSUZ1bmN0aW9uLFxuICAgIGtlZXBXYXJtQ291bnQ/OiBudW1iZXJcbn1cblxuaW50ZXJmYWNlIEl4b3JEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMgZXh0ZW5kcyBEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMge1xuICAgIGtlZXBXYXJtPzogYm9vbGVhbixcbiAgICBrZWVwV2FybUV2ZW50U2NoZWR1bGU/OiBTY2hlZHVsZSxcbiAgICBrZWVwV2FybUxhbWJkYUZ1bmN0aW9uPzogSUZ1bmN0aW9uLFxuICAgIGtlZXBXYXJtQ291bnQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGNsYXNzIEl4b3JGdW5jdGlvbiBleHRlbmRzIEZ1bmN0aW9uIHtcbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSXhvckxhbWJkYUZ1bmN0aW9uUHJvcHMpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICAgICAgY29uc3Qga2VlcFdhcm1Db3VudCA9IHByb3BzLmtlZXBXYXJtQ291bnQgPz8gMjtcbiAgICAgICAgY29uc3QgZXZlbnQgPSB7XG4gICAgICAgICAgICBcImNvdW50XCI6IGtlZXBXYXJtQ291bnQsXG4gICAgICAgICAgICBcImxhbWJkYUFyblwiOiB0aGlzLmZ1bmN0aW9uQXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcHMua2VlcFdhcm0gJiYgcHJvcHMua2VlcFdhcm1MYW1iZGFGdW5jdGlvbikge1xuICAgICAgICAgICAgaWYgKCFwcm9wcy5rZWVwV2FybUV2ZW50U2NoZWR1bGUpIHtcbiAgICAgICAgICAgICAgICBwcm9wcy5rZWVwV2FybUV2ZW50U2NoZWR1bGUgPSBTY2hlZHVsZS5jcm9uKHtcbiAgICAgICAgICAgICAgICAgICAgbWludXRlOiAnMC8xMCcsXG4gICAgICAgICAgICAgICAgICAgIGhvdXI6ICc3LTE5JyxcbiAgICAgICAgICAgICAgICAgICAgZGF5OiAnKlcnXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBydWxlID0gbmV3IFJ1bGUoc2NvcGUsIGBrZWVwV2FybS0ke3RoaXMubm9kZS5pZH1gLCB7c2NoZWR1bGU6IHByb3BzLmtlZXBXYXJtRXZlbnRTY2hlZHVsZX0pO1xuICAgICAgICAgICAgcnVsZS5hZGRUYXJnZXQobmV3IExhbWJkYUZ1bmN0aW9uKHByb3BzLmtlZXBXYXJtTGFtYmRhRnVuY3Rpb24sIHtldmVudDogUnVsZVRhcmdldElucHV0LmZyb21PYmplY3QoZXZlbnQpfSkpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJeG9yRG9ja2VySW1hZ2VGdW5jdGlvbiBleHRlbmRzIERvY2tlckltYWdlRnVuY3Rpb24ge1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJeG9yRG9ja2VySW1hZ2VGdW5jdGlvblByb3BzKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgICAgIGNvbnN0IGtlZXBXYXJtQ291bnQgPSBwcm9wcy5rZWVwV2FybUNvdW50ID8/IDI7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0ge1xuICAgICAgICAgICAgXCJjb3VudFwiOiBrZWVwV2FybUNvdW50LFxuICAgICAgICAgICAgXCJsYW1iZGFBcm5cIjogdGhpcy5mdW5jdGlvbkFyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BzLmtlZXBXYXJtICYmIHByb3BzLmtlZXBXYXJtTGFtYmRhRnVuY3Rpb24pIHtcbiAgICAgICAgICAgIGlmICghcHJvcHMua2VlcFdhcm1FdmVudFNjaGVkdWxlKSB7XG4gICAgICAgICAgICAgICAgcHJvcHMua2VlcFdhcm1FdmVudFNjaGVkdWxlID0gU2NoZWR1bGUuY3Jvbih7XG4gICAgICAgICAgICAgICAgICAgIG1pbnV0ZTogJzAvMTAnLFxuICAgICAgICAgICAgICAgICAgICBob3VyOiAnNy0xOScsXG4gICAgICAgICAgICAgICAgICAgIGRheTogJypXJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgcnVsZSA9IG5ldyBSdWxlKHNjb3BlLCBga2VlcFdhcm0tJHt0aGlzLm5vZGUuaWR9YCwge3NjaGVkdWxlOiBwcm9wcy5rZWVwV2FybUV2ZW50U2NoZWR1bGV9KTtcbiAgICAgICAgICAgIHJ1bGUuYWRkVGFyZ2V0KG5ldyBMYW1iZGFGdW5jdGlvbihwcm9wcy5rZWVwV2FybUxhbWJkYUZ1bmN0aW9uLCB7ZXZlbnQ6IFJ1bGVUYXJnZXRJbnB1dC5mcm9tT2JqZWN0KGV2ZW50KX0pKVxuICAgICAgICB9XG4gICAgfVxufSJdfQ==
|