@ixor/aws-cdk-ixor-lambda 1.1.0 → 1.2.0-rc-18
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,13 @@
|
|
|
1
|
-
image: node:
|
|
1
|
+
image: node:18
|
|
2
|
+
|
|
3
|
+
definitions:
|
|
4
|
+
source-bb-aws-utils: &source-bb-aws-utils |-
|
|
5
|
+
git clone -b ${BB_AWS_UTILS_VERSION:-master} git@bitbucket.org:ixorcvba/ixor-bb-aws-utils.git /ixor-bb-aws-utils
|
|
6
|
+
LIB_DIR=/ixor-bb-aws-utils/lib source /ixor-bb-aws-utils/lib/load.bash
|
|
7
|
+
|
|
8
|
+
configure-oidc: &configure-oidc |-
|
|
9
|
+
export AWS_WEB_IDENTITY_TOKEN_FILE=/tmp/web-identity-token
|
|
10
|
+
echo $BITBUCKET_STEP_OIDC_TOKEN > /tmp/web-identity-token
|
|
2
11
|
|
|
3
12
|
pipelines:
|
|
4
13
|
branches:
|
|
@@ -6,16 +15,13 @@ pipelines:
|
|
|
6
15
|
- step:
|
|
7
16
|
name: "Release patch version to npm"
|
|
8
17
|
script:
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- export NPM_TOKEN="$(aws_get_ssm_parameter_by_name NPM_TOKEN)"
|
|
18
|
+
- *configure-oidc
|
|
19
|
+
- *source-bb-aws-utils
|
|
12
20
|
- install_jq
|
|
13
21
|
- npm ci
|
|
14
22
|
- npm run build
|
|
15
23
|
- npm version "$(jq -r '.version' package.json)-rc-${BITBUCKET_BUILD_NUMBER}" -m "[skip ci] Upgrade to %s - $(git log -1 --pretty=%B | head -1)"
|
|
16
|
-
-
|
|
17
|
-
variables:
|
|
18
|
-
NPM_TOKEN: $NPM_TOKEN
|
|
24
|
+
- npm publish
|
|
19
25
|
|
|
20
26
|
'master':
|
|
21
27
|
- step:
|
|
@@ -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==
|