@cdk8s/awscdk-resolver 0.0.408 → 0.0.410
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/.jsii +3 -3
- package/lib/resolve.js +1 -1
- package/node_modules/@aws/lambda-invoke-store/README.md +35 -27
- package/node_modules/@aws/lambda-invoke-store/dist-cjs/invoke-store.js +104 -46
- package/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js +104 -46
- package/node_modules/@aws/lambda-invoke-store/dist-types/invoke-store.benchmark.d.ts +1 -0
- package/node_modules/@aws/lambda-invoke-store/dist-types/invoke-store.d.ts +40 -47
- package/node_modules/@aws/lambda-invoke-store/package.json +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/README.md +8 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/index.js +285 -82
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/CloudFormation.js +2 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/commands/DescribeEventsCommand.js +16 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/commands/index.js +1 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/models/models_0.js +95 -56
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/models/models_1.js +3 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/pagination/DescribeChangeSetPaginator.js +4 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/pagination/DescribeEventsPaginator.js +4 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/pagination/index.js +2 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-es/schemas/schemas_0.js +161 -28
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/CloudFormation.d.ts +8 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/CloudFormationClient.d.ts +3 -2
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/CreateChangeSetCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/CreateStackCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/DescribeChangeSetCommand.d.ts +20 -3
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/DescribeChangeSetHooksCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/DescribeEventsCommand.d.ts +143 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/DescribeStackEventsCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/DescribeStackResourceCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/DescribeStackResourceDriftsCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/DescribeStackResourcesCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/DescribeStacksCommand.d.ts +6 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/DetectStackResourceDriftCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/GetHookResultCommand.d.ts +5 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/ListStackInstanceResourceDriftsCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/ListStackRefactorsCommand.d.ts +2 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/ListStackResourcesCommand.d.ts +2 -2
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/ListStackSetAutoDeploymentTargetsCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/ListStacksCommand.d.ts +7 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/RollbackStackCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/UpdateStackCommand.d.ts +1 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/commands/index.d.ts +1 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/models/models_0.d.ts +3943 -3901
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/models/models_1.d.ts +499 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/pagination/DescribeChangeSetPaginator.d.ts +7 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/pagination/DescribeEventsPaginator.d.ts +7 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/pagination/index.d.ts +2 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/schemas/schemas_0.d.ts +11 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/CloudFormation.d.ts +18 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/CloudFormationClient.d.ts +6 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/commands/DescribeEventsCommand.d.ts +47 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/commands/ListStackRefactorsCommand.d.ts +2 -4
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/commands/ListStackResourcesCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/commands/ListStackSetAutoDeploymentTargetsCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/commands/ListStacksCommand.d.ts +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/commands/index.d.ts +1 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/models/models_0.d.ts +186 -144
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/models/models_1.d.ts +92 -1
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/pagination/DescribeChangeSetPaginator.d.ts +11 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/pagination/DescribeEventsPaginator.d.ts +11 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/pagination/index.d.ts +2 -0
- package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/schemas/schemas_0.d.ts +11 -0
- package/node_modules/@aws-sdk/client-cloudformation/package.json +6 -6
- package/node_modules/@aws-sdk/client-sso/package.json +5 -5
- package/node_modules/@aws-sdk/core/package.json +1 -1
- package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.js +2 -1
- package/node_modules/@aws-sdk/middleware-recursion-detection/dist-es/recursionDetectionMiddleware.js +2 -1
- package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +2 -2
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +2 -2
- package/node_modules/@aws-sdk/nested-clients/package.json +5 -5
- package/node_modules/@aws-sdk/token-providers/package.json +3 -3
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
- package/package.json +6 -6
package/.jsii
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"url": "https://aws.amazon.com"
|
|
8
8
|
},
|
|
9
9
|
"bundled": {
|
|
10
|
-
"@aws-sdk/client-cloudformation": "^3.
|
|
10
|
+
"@aws-sdk/client-cloudformation": "^3.934.0"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"aws-cdk-lib": "^2.195.0",
|
|
@@ -4082,6 +4082,6 @@
|
|
|
4082
4082
|
"symbolId": "src/resolve:AwsCdkResolver"
|
|
4083
4083
|
}
|
|
4084
4084
|
},
|
|
4085
|
-
"version": "0.0.
|
|
4086
|
-
"fingerprint": "+
|
|
4085
|
+
"version": "0.0.410",
|
|
4086
|
+
"fingerprint": "ZRRnj/FDDJlDgyiMz+UX4o+9FutwqxK9rkXWeKKdWpc="
|
|
4087
4087
|
}
|
package/lib/resolve.js
CHANGED
|
@@ -61,5 +61,5 @@ class AwsCdkResolver {
|
|
|
61
61
|
}
|
|
62
62
|
exports.AwsCdkResolver = AwsCdkResolver;
|
|
63
63
|
_a = JSII_RTTI_SYMBOL_1;
|
|
64
|
-
AwsCdkResolver[_a] = { fqn: "@cdk8s/awscdk-resolver.AwsCdkResolver", version: "0.0.
|
|
64
|
+
AwsCdkResolver[_a] = { fqn: "@cdk8s/awscdk-resolver.AwsCdkResolver", version: "0.0.410" };
|
|
65
65
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXNvbHZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQTZDO0FBQzdDLDZCQUE2QjtBQUM3Qiw2Q0FBK0U7QUFJL0UsTUFBYSxjQUFjO0lBRWxCLE9BQU8sQ0FBQyxPQUEwQjtRQUV2QyxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0QywrREFBK0Q7WUFDL0QsbUJBQW1CO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLE9BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQztZQUNILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsRCxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsMkVBQTJFO1lBQzNFLGtFQUFrRTtZQUNsRSwyRUFBMkU7WUFDM0UsK0VBQStFO1lBQy9FLCtDQUErQztZQUMvQyxPQUFPLENBQUMsWUFBWSxDQUFDLG9DQUFvQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7SUFFSCxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWE7UUFFOUIsTUFBTSxlQUFlLEdBQVksRUFBRSxDQUFDO1FBRXBDLEtBQUssTUFBTSxLQUFLLElBQUksMEJBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0QsSUFBSSx1QkFBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3JDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLHVCQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQztnQkFDN0csa0ZBQWtGO2dCQUNsRix3REFBd0Q7Z0JBQ3hELElBQUksTUFBTTtvQkFBRSxPQUFPLE1BQU0sQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQztRQUVELDZCQUE2QjtRQUM3Qiw2QkFBNkI7UUFDN0Isb0NBQW9DO1FBQ3BDLG9GQUFvRjtRQUNwRiwrREFBK0Q7UUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsS0FBSyx1QkFBdUIsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXZJLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFpQjtRQUV4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDMUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUEsNEJBQVksRUFBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQy9DLE1BQU07WUFDTixtQkFBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTO1lBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtTQUNmLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRWhFLENBQUM7O0FBOURILHdDQWdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IFRva2VuLCBTdGFjaywgVG9rZW5pemF0aW9uLCBSZWZlcmVuY2UsIENmbk91dHB1dCB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IElSZXNvbHZlciwgUmVzb2x1dGlvbkNvbnRleHQgfSBmcm9tICdjZGs4cyc7XG5cblxuZXhwb3J0IGNsYXNzIEF3c0Nka1Jlc29sdmVyIGltcGxlbWVudHMgSVJlc29sdmVyIHtcblxuICBwdWJsaWMgcmVzb2x2ZShjb250ZXh0OiBSZXNvbHV0aW9uQ29udGV4dCkge1xuXG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQoY29udGV4dC52YWx1ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbnRleHQudmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBzaG91bGQgYmUgb2sgYmVjYXVzZSB3ZSBvbmx5IHJlc29sdmUgQ2ZuT3V0cHV0IHZhbHVlcywgd2hpY2hcbiAgICAgIC8vIG11c3QgYmUgc3RyaW5ncy5cbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB2YWx1ZSB0eXBlOiAke3R5cGVvZihjb250ZXh0LnZhbHVlKX0gKEV4cGVjdGVkICdzdHJpbmcnKWApO1xuICAgIH1cblxuICAgIGNvbnN0IG91dHB1dCA9IHRoaXMuZmluZE91dHB1dChjb250ZXh0LnZhbHVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3V0cHV0VmFsdWUgPSB0aGlzLmZldGNoT3V0cHV0VmFsdWUob3V0cHV0KTtcbiAgICAgIGNvbnRleHQucmVwbGFjZVZhbHVlKG91dHB1dFZhbHVlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGlmIGJvdGggY2RrOHMgYW5kIEFXUyBDREsgYXBwbGljYXRpb25zIGFyZSBkZWZpbmVkIHdpdGhpbiB0aGUgc2FtZSBmaWxlLFxuICAgICAgLy8gYSBjZGs4cyBzeW50aCBpcyBnb2luZyB0byBoYXBwZW4gYmVmb3JlIHRoZSBBV1MgQ0RLIGRlcGxveW1lbnQuXG4gICAgICAvLyBpbiB0aGlzIGNhc2Ugd2UgbXVzdCBzd2FsbG93IHRoZSBlcnJvciwgb3RoZXJ3aXNlIHRoZSBBV1MgQ0RLIGRlcGxveW1lbnRcbiAgICAgIC8vIHdvbid0IGJlIGFibGUgdG8gZ28gdGhyb3VnaC4gd2UgcmVwbGFjZSB0aGUgdmFsdWUgd2l0aCBzb21ldGhpbmcgdG8gaW5kaWNhdGVcbiAgICAgIC8vIHRoYXQgYSBmZXRjaGluZyBhdHRlbXB0IHdhcyBtYWRlIGFuZCBmYWlsZWQuXG4gICAgICBjb250ZXh0LnJlcGxhY2VWYWx1ZShgRmFpbGVkIGZldGNoaW5nIHZhbHVlIGZvciBvdXRwdXQgJHtvdXRwdXQubm9kZS5wYXRofTogJHtlcnJ9YCk7XG4gICAgfVxuXG4gIH1cblxuICBwcml2YXRlIGZpbmRPdXRwdXQodmFsdWU6IHN0cmluZykge1xuXG4gICAgY29uc3QgaW5zcGVjdGVkU3RhY2tzOiBTdGFja1tdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIFRva2VuaXphdGlvbi5yZXZlcnNlU3RyaW5nKHZhbHVlKS50b2tlbnMpIHtcbiAgICAgIGlmIChSZWZlcmVuY2UuaXNSZWZlcmVuY2UodG9rZW4pKSB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodG9rZW4udGFyZ2V0KTtcbiAgICAgICAgaW5zcGVjdGVkU3RhY2tzLnB1c2goc3RhY2spO1xuICAgICAgICBjb25zdCBvdXRwdXQgPSBzdGFjay5ub2RlLmZpbmRBbGwoKS5maWx0ZXIoYyA9PiBjIGluc3RhbmNlb2YgQ2ZuT3V0cHV0ICYmIGMudmFsdWUgPT09IHZhbHVlKVswXSBhcyBDZm5PdXRwdXQ7XG4gICAgICAgIC8vIHdlIGRvbid0IHJlYWxseSBjYXJlIGlmIHRoZXJlIGFyZSBtb3JlIG91dHB1dHMgKHBvc3NpYmx5IGZyb20gZGlmZmVyZW50IHN0YWNrcylcbiAgICAgICAgLy8gdGhhdCBwb2ludCB0byB0aGUgc2FtZSB2YWx1ZS4gdGhlIGZpcnN0IHdpbGwgc3VmZmljZS5cbiAgICAgICAgaWYgKG91dHB1dCkgcmV0dXJuIG91dHB1dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgZWl0aGVyOlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gIDEuIFVzZXIgZGlkbid0IGRlZmluZSBhbiBvdXRwdXQuXG4gICAgLy8gIDIuIE91dHB1dCB3YXMgZGVmaW5lZCBpbiBhIGRpZmZlcmVudCBzdGFjayB0aGFuIHRoZSB0b2tlbnMgY29tcHJpc2luZyBpdHMgdmFsdWUuXG4gICAgLy8gIDMuIE5vbmUgb2YgdGhlIHRva2VucyBjb21wcmlzaW5nIHRoZSB2YWx1ZSBhcmUgYSBSZWZlcmVuY2UuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZmluZCBvdXRwdXQgZGVmaW5lZCBmb3IgJHt2YWx1ZX0gKEluc3BlY3RlZCBzdGFja3M6ICR7aW5zcGVjdGVkU3RhY2tzLm1hcChzID0+IHMuc3RhY2tOYW1lKS5qb2luKCcsJyl9KWApO1xuXG4gIH1cblxuICBwcml2YXRlIGZldGNoT3V0cHV0VmFsdWUob3V0cHV0OiBDZm5PdXRwdXQpIHtcblxuICAgIGNvbnN0IHNjcmlwdCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICdsaWInLCAnZmV0Y2gtb3V0cHV0LXZhbHVlLmpzJyk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoZXhlY0ZpbGVTeW5jKHByb2Nlc3MuZXhlY1BhdGgsIFtcbiAgICAgIHNjcmlwdCxcbiAgICAgIFN0YWNrLm9mKG91dHB1dCkuc3RhY2tOYW1lLFxuICAgICAgb3V0cHV0Lm5vZGUuaWQsXG4gICAgXSwgeyBlbmNvZGluZzogJ3V0Zi04Jywgc3RkaW86IFsncGlwZSddIH0pLnRvU3RyaW5nKCkudHJpbSgpKTtcblxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -33,19 +33,20 @@ export const handler = async (event, context) => {
|
|
|
33
33
|
// The RIC has already initialized the InvokeStore with requestId and X-Ray traceId
|
|
34
34
|
|
|
35
35
|
// Access Lambda context data
|
|
36
|
-
|
|
36
|
+
const invokeStore = await InvokeStore.getInstanceAsync();
|
|
37
|
+
console.log(`Processing request: ${invokeStore.getRequestId()}`);
|
|
37
38
|
|
|
38
39
|
// Store custom data
|
|
39
|
-
|
|
40
|
+
invokeStore.set("userId", event.userId);
|
|
40
41
|
|
|
41
42
|
// Data persists across async operations
|
|
42
43
|
await processData(event);
|
|
43
44
|
|
|
44
45
|
// Retrieve custom data
|
|
45
|
-
const userId =
|
|
46
|
+
const userId = invokeStore.get("userId");
|
|
46
47
|
|
|
47
48
|
return {
|
|
48
|
-
requestId:
|
|
49
|
+
requestId: invokeStore.getRequestId(),
|
|
49
50
|
userId,
|
|
50
51
|
};
|
|
51
52
|
};
|
|
@@ -53,89 +54,96 @@ export const handler = async (event, context) => {
|
|
|
53
54
|
// Context is preserved in async operations
|
|
54
55
|
async function processData(event) {
|
|
55
56
|
// Still has access to the same invoke context
|
|
56
|
-
|
|
57
|
+
const invokeStore = await InvokeStore.getInstanceAsync();
|
|
58
|
+
console.log(`Processing in same context: ${invokeStore.getRequestId()}`);
|
|
57
59
|
|
|
58
60
|
// Can set additional data
|
|
59
|
-
|
|
61
|
+
invokeStore.set("processedData", { result: "success" });
|
|
60
62
|
}
|
|
61
63
|
```
|
|
62
64
|
|
|
63
65
|
## API Reference
|
|
64
66
|
|
|
65
|
-
### InvokeStore.
|
|
67
|
+
### InvokeStore.getInstanceAsync()
|
|
68
|
+
First, get an instance of the InvokeStore:
|
|
69
|
+
```typescript
|
|
70
|
+
const invokeStore = await InvokeStore.getInstanceAsync();
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### invokeStore.getContext()
|
|
66
74
|
|
|
67
75
|
Returns the complete current context or `undefined` if outside a context.
|
|
68
76
|
|
|
69
77
|
```typescript
|
|
70
|
-
const context =
|
|
78
|
+
const context = invokeStore.getContext();
|
|
71
79
|
```
|
|
72
80
|
|
|
73
|
-
###
|
|
81
|
+
### invokeStore.get(key)
|
|
74
82
|
|
|
75
83
|
Gets a value from the current context.
|
|
76
84
|
|
|
77
85
|
```typescript
|
|
78
|
-
const requestId =
|
|
79
|
-
const customValue =
|
|
86
|
+
const requestId = invokeStore.get(InvokeStoreBase.PROTECTED_KEYS.REQUEST_ID);
|
|
87
|
+
const customValue = invokeStore.get("customKey");
|
|
80
88
|
```
|
|
81
89
|
|
|
82
|
-
###
|
|
90
|
+
### invokeStore.set(key, value)
|
|
83
91
|
|
|
84
92
|
Sets a custom value in the current context. Protected Lambda fields cannot be modified.
|
|
85
93
|
|
|
86
94
|
```typescript
|
|
87
|
-
|
|
88
|
-
|
|
95
|
+
invokeStore.set("userId", "user-123");
|
|
96
|
+
invokeStore.set("timestamp", Date.now());
|
|
89
97
|
|
|
90
98
|
// This will throw an error:
|
|
91
|
-
//
|
|
99
|
+
// invokeStore.set(InvokeStoreBase.PROTECTED_KEYS.REQUEST_ID, 'new-id');
|
|
92
100
|
```
|
|
93
101
|
|
|
94
|
-
###
|
|
102
|
+
### invokeStore.getRequestId()
|
|
95
103
|
|
|
96
104
|
Convenience method to get the current request ID.
|
|
97
105
|
|
|
98
106
|
```typescript
|
|
99
|
-
const requestId =
|
|
107
|
+
const requestId = invokeStore.getRequestId(); // Returns '-' if outside context
|
|
100
108
|
```
|
|
101
109
|
|
|
102
|
-
###
|
|
110
|
+
### invokeStore.getTenantId()
|
|
103
111
|
|
|
104
112
|
Convenience method to get the tenant ID.
|
|
105
113
|
|
|
106
114
|
```typescript
|
|
107
|
-
const requestId =
|
|
115
|
+
const requestId = invokeStore.getTenantId();
|
|
108
116
|
```
|
|
109
117
|
|
|
110
|
-
###
|
|
118
|
+
### invokeStore.getXRayTraceId()
|
|
111
119
|
|
|
112
120
|
Convenience method to get the current [X-Ray trace ID](https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-traces). This ID is used for distributed tracing across AWS services.
|
|
113
121
|
|
|
114
122
|
```typescript
|
|
115
|
-
const traceId =
|
|
123
|
+
const traceId = invokeStore.getXRayTraceId(); // Returns undefined if not set or outside context
|
|
116
124
|
```
|
|
117
125
|
|
|
118
|
-
###
|
|
126
|
+
### invokeStore.hasContext()
|
|
119
127
|
|
|
120
128
|
Checks if code is currently running within an invoke context.
|
|
121
129
|
|
|
122
130
|
```typescript
|
|
123
|
-
if (
|
|
131
|
+
if (invokeStore.hasContext()) {
|
|
124
132
|
// We're inside an invoke context
|
|
125
133
|
}
|
|
126
134
|
```
|
|
127
135
|
|
|
128
|
-
###
|
|
136
|
+
### invokeStore.run(context, fn)
|
|
129
137
|
|
|
130
138
|
> **Note**: This method is primarily used by the Lambda Runtime Interface Client (RIC) to initialize the context for each invocation. Lambda function developers typically don't need to call this method directly.
|
|
131
139
|
|
|
132
140
|
Runs a function within an invoke context.
|
|
133
141
|
|
|
134
142
|
```typescript
|
|
135
|
-
|
|
143
|
+
invokeStore.run(
|
|
136
144
|
{
|
|
137
|
-
[
|
|
138
|
-
[
|
|
145
|
+
[InvokeStoreBase.PROTECTED_KEYS.REQUEST_ID]: "request-123",
|
|
146
|
+
[InvokeStoreBase.PROTECTED_KEYS.X_RAY_TRACE_ID]: "trace-456", // Optional X-Ray trace ID
|
|
139
147
|
customField: "value", // Optional custom fields
|
|
140
148
|
},
|
|
141
149
|
() => {
|
|
@@ -1,66 +1,124 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var async_hooks = require('async_hooks');
|
|
4
|
-
|
|
5
|
-
const noGlobalAwsLambda = process.env["AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA"] === "1" ||
|
|
6
|
-
process.env["AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA"] === "true";
|
|
7
|
-
if (!noGlobalAwsLambda) {
|
|
8
|
-
globalThis.awslambda = globalThis.awslambda || {};
|
|
9
|
-
}
|
|
10
3
|
const PROTECTED_KEYS = {
|
|
11
|
-
REQUEST_ID: Symbol("_AWS_LAMBDA_REQUEST_ID"),
|
|
12
|
-
X_RAY_TRACE_ID: Symbol("_AWS_LAMBDA_X_RAY_TRACE_ID"),
|
|
13
|
-
TENANT_ID: Symbol("_AWS_LAMBDA_TENANT_ID"),
|
|
4
|
+
REQUEST_ID: Symbol.for("_AWS_LAMBDA_REQUEST_ID"),
|
|
5
|
+
X_RAY_TRACE_ID: Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),
|
|
6
|
+
TENANT_ID: Symbol.for("_AWS_LAMBDA_TENANT_ID"),
|
|
14
7
|
};
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
const NO_GLOBAL_AWS_LAMBDA = ["true", "1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA ?? "");
|
|
9
|
+
if (!NO_GLOBAL_AWS_LAMBDA) {
|
|
10
|
+
globalThis.awslambda = globalThis.awslambda || {};
|
|
11
|
+
}
|
|
12
|
+
class InvokeStoreBase {
|
|
17
13
|
static PROTECTED_KEYS = PROTECTED_KEYS;
|
|
18
|
-
|
|
19
|
-
return
|
|
14
|
+
isProtectedKey(key) {
|
|
15
|
+
return Object.values(PROTECTED_KEYS).includes(key);
|
|
16
|
+
}
|
|
17
|
+
getRequestId() {
|
|
18
|
+
return this.get(PROTECTED_KEYS.REQUEST_ID) ?? "-";
|
|
20
19
|
}
|
|
21
|
-
|
|
22
|
-
return this.
|
|
20
|
+
getXRayTraceId() {
|
|
21
|
+
return this.get(PROTECTED_KEYS.X_RAY_TRACE_ID);
|
|
23
22
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return context?.[key];
|
|
23
|
+
getTenantId() {
|
|
24
|
+
return this.get(PROTECTED_KEYS.TENANT_ID);
|
|
27
25
|
}
|
|
28
|
-
|
|
26
|
+
}
|
|
27
|
+
class InvokeStoreSingle extends InvokeStoreBase {
|
|
28
|
+
currentContext;
|
|
29
|
+
getContext() {
|
|
30
|
+
return this.currentContext;
|
|
31
|
+
}
|
|
32
|
+
hasContext() {
|
|
33
|
+
return this.currentContext !== undefined;
|
|
34
|
+
}
|
|
35
|
+
get(key) {
|
|
36
|
+
return this.currentContext?.[key];
|
|
37
|
+
}
|
|
38
|
+
set(key, value) {
|
|
29
39
|
if (this.isProtectedKey(key)) {
|
|
30
|
-
throw new Error(`Cannot modify protected Lambda context field`);
|
|
40
|
+
throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);
|
|
31
41
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
this.currentContext = this.currentContext || {};
|
|
43
|
+
this.currentContext[key] = value;
|
|
44
|
+
}
|
|
45
|
+
run(context, fn) {
|
|
46
|
+
this.currentContext = context;
|
|
47
|
+
try {
|
|
48
|
+
return fn();
|
|
35
49
|
}
|
|
50
|
+
finally {
|
|
51
|
+
this.currentContext = undefined;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
class InvokeStoreMulti extends InvokeStoreBase {
|
|
56
|
+
als;
|
|
57
|
+
static async create() {
|
|
58
|
+
const instance = new InvokeStoreMulti();
|
|
59
|
+
const asyncHooks = await import('node:async_hooks');
|
|
60
|
+
instance.als = new asyncHooks.AsyncLocalStorage();
|
|
61
|
+
return instance;
|
|
36
62
|
}
|
|
37
|
-
|
|
38
|
-
return this.
|
|
63
|
+
getContext() {
|
|
64
|
+
return this.als.getStore();
|
|
39
65
|
}
|
|
40
|
-
|
|
41
|
-
return this.
|
|
66
|
+
hasContext() {
|
|
67
|
+
return this.als.getStore() !== undefined;
|
|
42
68
|
}
|
|
43
|
-
|
|
44
|
-
return this.
|
|
69
|
+
get(key) {
|
|
70
|
+
return this.als.getStore()?.[key];
|
|
45
71
|
}
|
|
46
|
-
|
|
47
|
-
|
|
72
|
+
set(key, value) {
|
|
73
|
+
if (this.isProtectedKey(key)) {
|
|
74
|
+
throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);
|
|
75
|
+
}
|
|
76
|
+
const store = this.als.getStore();
|
|
77
|
+
if (!store) {
|
|
78
|
+
throw new Error("No context available");
|
|
79
|
+
}
|
|
80
|
+
store[key] = value;
|
|
48
81
|
}
|
|
49
|
-
|
|
50
|
-
return
|
|
51
|
-
key === this.PROTECTED_KEYS.X_RAY_TRACE_ID);
|
|
82
|
+
run(context, fn) {
|
|
83
|
+
return this.als.run(context, fn);
|
|
52
84
|
}
|
|
53
85
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
instance =
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
86
|
+
exports.InvokeStore = void 0;
|
|
87
|
+
(function (InvokeStore) {
|
|
88
|
+
let instance = null;
|
|
89
|
+
async function getInstanceAsync() {
|
|
90
|
+
if (!instance) {
|
|
91
|
+
instance = (async () => {
|
|
92
|
+
const isMulti = "AWS_LAMBDA_MAX_CONCURRENCY" in process.env;
|
|
93
|
+
const newInstance = isMulti
|
|
94
|
+
? await InvokeStoreMulti.create()
|
|
95
|
+
: new InvokeStoreSingle();
|
|
96
|
+
if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda?.InvokeStore) {
|
|
97
|
+
return globalThis.awslambda.InvokeStore;
|
|
98
|
+
}
|
|
99
|
+
else if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda) {
|
|
100
|
+
globalThis.awslambda.InvokeStore = newInstance;
|
|
101
|
+
return newInstance;
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return newInstance;
|
|
105
|
+
}
|
|
106
|
+
})();
|
|
107
|
+
}
|
|
108
|
+
return instance;
|
|
62
109
|
}
|
|
63
|
-
|
|
64
|
-
|
|
110
|
+
InvokeStore.getInstanceAsync = getInstanceAsync;
|
|
111
|
+
InvokeStore._testing = process.env.AWS_LAMBDA_BENCHMARK_MODE === "1"
|
|
112
|
+
? {
|
|
113
|
+
reset: () => {
|
|
114
|
+
instance = null;
|
|
115
|
+
if (globalThis.awslambda?.InvokeStore) {
|
|
116
|
+
delete globalThis.awslambda.InvokeStore;
|
|
117
|
+
}
|
|
118
|
+
globalThis.awslambda = {};
|
|
119
|
+
},
|
|
120
|
+
}
|
|
121
|
+
: undefined;
|
|
122
|
+
})(exports.InvokeStore || (exports.InvokeStore = {}));
|
|
65
123
|
|
|
66
|
-
exports.
|
|
124
|
+
exports.InvokeStoreBase = InvokeStoreBase;
|
|
@@ -1,64 +1,122 @@
|
|
|
1
|
-
import { AsyncLocalStorage } from 'async_hooks';
|
|
2
|
-
|
|
3
|
-
const noGlobalAwsLambda = process.env["AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA"] === "1" ||
|
|
4
|
-
process.env["AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA"] === "true";
|
|
5
|
-
if (!noGlobalAwsLambda) {
|
|
6
|
-
globalThis.awslambda = globalThis.awslambda || {};
|
|
7
|
-
}
|
|
8
1
|
const PROTECTED_KEYS = {
|
|
9
|
-
REQUEST_ID: Symbol("_AWS_LAMBDA_REQUEST_ID"),
|
|
10
|
-
X_RAY_TRACE_ID: Symbol("_AWS_LAMBDA_X_RAY_TRACE_ID"),
|
|
11
|
-
TENANT_ID: Symbol("_AWS_LAMBDA_TENANT_ID"),
|
|
2
|
+
REQUEST_ID: Symbol.for("_AWS_LAMBDA_REQUEST_ID"),
|
|
3
|
+
X_RAY_TRACE_ID: Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),
|
|
4
|
+
TENANT_ID: Symbol.for("_AWS_LAMBDA_TENANT_ID"),
|
|
12
5
|
};
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
const NO_GLOBAL_AWS_LAMBDA = ["true", "1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA ?? "");
|
|
7
|
+
if (!NO_GLOBAL_AWS_LAMBDA) {
|
|
8
|
+
globalThis.awslambda = globalThis.awslambda || {};
|
|
9
|
+
}
|
|
10
|
+
class InvokeStoreBase {
|
|
15
11
|
static PROTECTED_KEYS = PROTECTED_KEYS;
|
|
16
|
-
|
|
17
|
-
return
|
|
12
|
+
isProtectedKey(key) {
|
|
13
|
+
return Object.values(PROTECTED_KEYS).includes(key);
|
|
14
|
+
}
|
|
15
|
+
getRequestId() {
|
|
16
|
+
return this.get(PROTECTED_KEYS.REQUEST_ID) ?? "-";
|
|
18
17
|
}
|
|
19
|
-
|
|
20
|
-
return this.
|
|
18
|
+
getXRayTraceId() {
|
|
19
|
+
return this.get(PROTECTED_KEYS.X_RAY_TRACE_ID);
|
|
21
20
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return context?.[key];
|
|
21
|
+
getTenantId() {
|
|
22
|
+
return this.get(PROTECTED_KEYS.TENANT_ID);
|
|
25
23
|
}
|
|
26
|
-
|
|
24
|
+
}
|
|
25
|
+
class InvokeStoreSingle extends InvokeStoreBase {
|
|
26
|
+
currentContext;
|
|
27
|
+
getContext() {
|
|
28
|
+
return this.currentContext;
|
|
29
|
+
}
|
|
30
|
+
hasContext() {
|
|
31
|
+
return this.currentContext !== undefined;
|
|
32
|
+
}
|
|
33
|
+
get(key) {
|
|
34
|
+
return this.currentContext?.[key];
|
|
35
|
+
}
|
|
36
|
+
set(key, value) {
|
|
27
37
|
if (this.isProtectedKey(key)) {
|
|
28
|
-
throw new Error(`Cannot modify protected Lambda context field`);
|
|
38
|
+
throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);
|
|
29
39
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
this.currentContext = this.currentContext || {};
|
|
41
|
+
this.currentContext[key] = value;
|
|
42
|
+
}
|
|
43
|
+
run(context, fn) {
|
|
44
|
+
this.currentContext = context;
|
|
45
|
+
try {
|
|
46
|
+
return fn();
|
|
33
47
|
}
|
|
48
|
+
finally {
|
|
49
|
+
this.currentContext = undefined;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
class InvokeStoreMulti extends InvokeStoreBase {
|
|
54
|
+
als;
|
|
55
|
+
static async create() {
|
|
56
|
+
const instance = new InvokeStoreMulti();
|
|
57
|
+
const asyncHooks = await import('node:async_hooks');
|
|
58
|
+
instance.als = new asyncHooks.AsyncLocalStorage();
|
|
59
|
+
return instance;
|
|
34
60
|
}
|
|
35
|
-
|
|
36
|
-
return this.
|
|
61
|
+
getContext() {
|
|
62
|
+
return this.als.getStore();
|
|
37
63
|
}
|
|
38
|
-
|
|
39
|
-
return this.
|
|
64
|
+
hasContext() {
|
|
65
|
+
return this.als.getStore() !== undefined;
|
|
40
66
|
}
|
|
41
|
-
|
|
42
|
-
return this.
|
|
67
|
+
get(key) {
|
|
68
|
+
return this.als.getStore()?.[key];
|
|
43
69
|
}
|
|
44
|
-
|
|
45
|
-
|
|
70
|
+
set(key, value) {
|
|
71
|
+
if (this.isProtectedKey(key)) {
|
|
72
|
+
throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);
|
|
73
|
+
}
|
|
74
|
+
const store = this.als.getStore();
|
|
75
|
+
if (!store) {
|
|
76
|
+
throw new Error("No context available");
|
|
77
|
+
}
|
|
78
|
+
store[key] = value;
|
|
46
79
|
}
|
|
47
|
-
|
|
48
|
-
return
|
|
49
|
-
key === this.PROTECTED_KEYS.X_RAY_TRACE_ID);
|
|
80
|
+
run(context, fn) {
|
|
81
|
+
return this.als.run(context, fn);
|
|
50
82
|
}
|
|
51
83
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
instance =
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
84
|
+
var InvokeStore;
|
|
85
|
+
(function (InvokeStore) {
|
|
86
|
+
let instance = null;
|
|
87
|
+
async function getInstanceAsync() {
|
|
88
|
+
if (!instance) {
|
|
89
|
+
instance = (async () => {
|
|
90
|
+
const isMulti = "AWS_LAMBDA_MAX_CONCURRENCY" in process.env;
|
|
91
|
+
const newInstance = isMulti
|
|
92
|
+
? await InvokeStoreMulti.create()
|
|
93
|
+
: new InvokeStoreSingle();
|
|
94
|
+
if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda?.InvokeStore) {
|
|
95
|
+
return globalThis.awslambda.InvokeStore;
|
|
96
|
+
}
|
|
97
|
+
else if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda) {
|
|
98
|
+
globalThis.awslambda.InvokeStore = newInstance;
|
|
99
|
+
return newInstance;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
return newInstance;
|
|
103
|
+
}
|
|
104
|
+
})();
|
|
105
|
+
}
|
|
106
|
+
return instance;
|
|
60
107
|
}
|
|
61
|
-
|
|
62
|
-
|
|
108
|
+
InvokeStore.getInstanceAsync = getInstanceAsync;
|
|
109
|
+
InvokeStore._testing = process.env.AWS_LAMBDA_BENCHMARK_MODE === "1"
|
|
110
|
+
? {
|
|
111
|
+
reset: () => {
|
|
112
|
+
instance = null;
|
|
113
|
+
if (globalThis.awslambda?.InvokeStore) {
|
|
114
|
+
delete globalThis.awslambda.InvokeStore;
|
|
115
|
+
}
|
|
116
|
+
globalThis.awslambda = {};
|
|
117
|
+
},
|
|
118
|
+
}
|
|
119
|
+
: undefined;
|
|
120
|
+
})(InvokeStore || (InvokeStore = {}));
|
|
63
121
|
|
|
64
|
-
export { InvokeStore };
|
|
122
|
+
export { InvokeStore, InvokeStoreBase };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,57 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
interface Context {
|
|
2
|
+
[key: string]: unknown;
|
|
3
|
+
[key: symbol]: unknown;
|
|
4
|
+
}
|
|
5
|
+
declare global {
|
|
6
|
+
var awslambda: {
|
|
7
|
+
InvokeStore?: InvokeStoreBase;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
};
|
|
7
10
|
}
|
|
8
11
|
/**
|
|
9
|
-
*
|
|
12
|
+
* Base class for AWS Lambda context storage implementations.
|
|
13
|
+
* Provides core functionality for managing Lambda execution context.
|
|
14
|
+
*
|
|
15
|
+
* Implementations handle either single-context (InvokeStoreSingle) or
|
|
16
|
+
* multi-context (InvokeStoreMulti) scenarios based on Lambda's execution environment.
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
10
19
|
*/
|
|
11
|
-
declare class
|
|
12
|
-
private static storage;
|
|
20
|
+
export declare abstract class InvokeStoreBase {
|
|
13
21
|
static readonly PROTECTED_KEYS: {
|
|
14
22
|
readonly REQUEST_ID: symbol;
|
|
15
23
|
readonly X_RAY_TRACE_ID: symbol;
|
|
16
24
|
readonly TENANT_ID: symbol;
|
|
17
25
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
*/
|
|
42
|
-
static getXRayTraceId(): string | undefined;
|
|
43
|
-
/**
|
|
44
|
-
* Get the current tenant ID
|
|
45
|
-
*/
|
|
46
|
-
static getTenantId(): string | undefined;
|
|
47
|
-
/**
|
|
48
|
-
* Check if we're currently within an invoke context
|
|
49
|
-
*/
|
|
50
|
-
static hasContext(): boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Check if a key is protected (readonly Lambda context field)
|
|
53
|
-
*/
|
|
54
|
-
private static isProtectedKey;
|
|
26
|
+
abstract getContext(): Context | undefined;
|
|
27
|
+
abstract hasContext(): boolean;
|
|
28
|
+
abstract get<T = unknown>(key: string | symbol): T | undefined;
|
|
29
|
+
abstract set<T = unknown>(key: string | symbol, value: T): void;
|
|
30
|
+
abstract run<T>(context: Context, fn: () => T): T;
|
|
31
|
+
protected isProtectedKey(key: string | symbol): boolean;
|
|
32
|
+
getRequestId(): string;
|
|
33
|
+
getXRayTraceId(): string | undefined;
|
|
34
|
+
getTenantId(): string | undefined;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Provides access to AWS Lambda execution context storage.
|
|
38
|
+
* Supports both single-context and multi-context environments through different implementations.
|
|
39
|
+
*
|
|
40
|
+
* The store manages protected Lambda context fields and allows storing/retrieving custom values
|
|
41
|
+
* within the execution context.
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export declare namespace InvokeStore {
|
|
45
|
+
function getInstanceAsync(): Promise<InvokeStoreBase>;
|
|
46
|
+
const _testing: {
|
|
47
|
+
reset: () => void;
|
|
48
|
+
} | undefined;
|
|
55
49
|
}
|
|
56
|
-
export declare const InvokeStore: typeof InvokeStoreImpl;
|
|
57
50
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws/lambda-invoke-store",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Invoke scoped data storage for AWS Lambda Node.js Runtime Environment",
|
|
5
5
|
"homepage": "https://github.com/awslabs/aws-lambda-invoke-store",
|
|
6
6
|
"main": "./dist-cjs/invoke-store.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"build": "yarn clean && yarn build:types && node ./scripts/build-rollup.js",
|
|
33
33
|
"build:types": "tsc -p tsconfig.types.json",
|
|
34
34
|
"clean": "rm -rf dist-types dist-cjs dist-es",
|
|
35
|
-
"test": "vitest run",
|
|
35
|
+
"test": "vitest run --reporter verbose",
|
|
36
36
|
"test:watch": "vitest watch",
|
|
37
37
|
"release": "yarn build && changeset publish"
|
|
38
38
|
},
|
|
@@ -390,6 +390,14 @@ DescribeChangeSetHooks
|
|
|
390
390
|
|
|
391
391
|
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudformation/command/DescribeChangeSetHooksCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-cloudformation/Interface/DescribeChangeSetHooksCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-cloudformation/Interface/DescribeChangeSetHooksCommandOutput/)
|
|
392
392
|
|
|
393
|
+
</details>
|
|
394
|
+
<details>
|
|
395
|
+
<summary>
|
|
396
|
+
DescribeEvents
|
|
397
|
+
</summary>
|
|
398
|
+
|
|
399
|
+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudformation/command/DescribeEventsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-cloudformation/Interface/DescribeEventsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-cloudformation/Interface/DescribeEventsCommandOutput/)
|
|
400
|
+
|
|
393
401
|
</details>
|
|
394
402
|
<details>
|
|
395
403
|
<summary>
|