@aws-solutions-constructs/aws-kinesisstreams-lambda 2.85.2 → 2.85.4

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 CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "@aws-solutions-constructs/core": "2.85.2",
11
+ "@aws-solutions-constructs/core": "2.85.4",
12
12
  "aws-cdk-lib": "^2.193.0",
13
13
  "constructs": "^10.0.0"
14
14
  },
@@ -3993,7 +3993,7 @@
3993
3993
  },
3994
3994
  "name": "@aws-solutions-constructs/aws-kinesisstreams-lambda",
3995
3995
  "readme": {
3996
- "markdown": "# aws-kinesisstreams-lambda module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![Stability: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)\n\n---\n<!--END STABILITY BANNER-->\n\n| **Reference Documentation**:| <span style=\"font-weight: normal\">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|\n|:-------------|:-------------|\n<div style=\"height:8px\"></div>\n\n| **Language** | **Package** |\n|:-------------|-----------------|\n|![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws-kinesis-streams-lambda`|\n|![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-kinesisstreams-lambda`|\n|![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.kinesisstreamslambda`|\n\n## Overview\nThis AWS Solutions Construct deploys a Kinesis Stream and Lambda function with the appropriate resources/properties for interaction and security.\n\nHere is a minimal deployable pattern definition:\n\nTypescript\n``` typescript\nimport { Construct } from 'constructs';\nimport { Stack, StackProps } from 'aws-cdk-lib';\nimport { KinesisStreamsToLambda } from '@aws-solutions-constructs/aws-kinesisstreams-lambda';\nimport * as lambda from 'aws-cdk-lib/aws-lambda';\n\nnew KinesisStreamsToLambda(this, 'KinesisToLambdaPattern', {\n kinesisEventSourceProps: {\n startingPosition: lambda.StartingPosition.TRIM_HORIZON,\n batchSize: 1\n },\n lambdaFunctionProps: {\n runtime: lambda.Runtime.NODEJS_20_X,\n handler: 'index.handler',\n code: lambda.Code.fromAsset(`lambda`)\n }\n});\n```\n\nPython\n``` python\nfrom aws_solutions_constructs.aws_kinesis_streams_lambda import KinesisStreamsToLambda\nfrom aws_cdk import (\n aws_lambda as _lambda,\n aws_lambda_event_sources as sources,\n aws_kinesis as kinesis,\n Stack\n)\nfrom constructs import Construct\n\nKinesisStreamsToLambda(self, 'KinesisToLambdaPattern',\n kinesis_event_source_props=sources.KinesisEventSourceProps(\n starting_position=_lambda.StartingPosition.TRIM_HORIZON,\n batch_size=1\n ),\n lambda_function_props=_lambda.FunctionProps(\n runtime=_lambda.Runtime.PYTHON_3_11,\n handler='index.handler',\n code=_lambda.Code.from_asset(\n 'lambda')\n )\n )\n\n```\n\nJava\n``` java\nimport software.constructs.Construct;\n\nimport software.amazon.awscdk.Stack;\nimport software.amazon.awscdk.StackProps;\nimport software.amazon.awscdk.services.lambda.*;\nimport software.amazon.awscdk.services.lambda.eventsources.*;\nimport software.amazon.awscdk.services.lambda.Runtime;\nimport software.amazon.awsconstructs.services.kinesisstreamslambda.*;\n\nnew KinesisStreamsToLambda(this, \"KinesisToLambdaPattern\", new KinesisStreamsToLambdaProps.Builder()\n .kinesisEventSourceProps(new KinesisEventSourceProps.Builder()\n .startingPosition(StartingPosition.TRIM_HORIZON)\n .batchSize(1)\n .build())\n .lambdaFunctionProps(new FunctionProps.Builder()\n .runtime(Runtime.NODEJS_20_X)\n .code(Code.fromAsset(\"lambda\"))\n .handler(\"index.handler\")\n .build())\n .build());\n```\n\n## Pattern Construct Props\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|existingLambdaObj?|[`lambda.Function`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html)|Existing instance of Lambda Function object, providing both this and `lambdaFunctionProps` will cause an error.|\n|lambdaFunctionProps?|[`lambda.FunctionProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.FunctionProps.html)|User provided props to override the default props for the Lambda function.|\n|kinesisStreamProps?|[`kinesis.StreamProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.StreamProps.html)|Optional user-provided props to override the default props for the Kinesis stream.|\n|existingStreamObj?|[`kinesis.Stream`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.Stream.html)|Existing instance of Kinesis Stream, providing both this and `kinesisStreamProps` will cause an error.|\n|kinesisEventSourceProps?|[`aws-lambda-event-sources.KinesisEventSourceProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda_event_sources.KinesisEventSourceProps.html)|Optional user-provided props to override the default props for the Lambda event source mapping.|\n|createCloudWatchAlarms|`boolean`|Whether to create recommended CloudWatch alarms|\n\n## Pattern Properties\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|kinesisStream|[`kinesis.Stream`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.Stream.html)|Returns an instance of the Kinesis stream created by the pattern.|\n|lambdaFunction|[`lambda.Function`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html)|Returns an instance of the Lambda function created by the pattern.|\n|kinesisStreamRole|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html)|Returns an instance of the iam.Role created by the construct for Kinesis stream.|\n|cloudwatchAlarms?|[`cloudwatch.Alarm[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch.Alarm.html)|Returns a list of cloudwatch.Alarm created by the construct|\n\n## Default settings\n\nOut of the box implementation of the Construct without any override will set the following defaults:\n\n### Amazon Kinesis Stream\n* Configure least privilege access IAM role for Kinesis Stream\n* Enable server-side encryption for Kinesis Stream using AWS Managed KMS Key\n* Deploy best practices CloudWatch Alarms for the Kinesis Stream\n\n### AWS Lambda Function\n* Configure limited privilege access IAM role for Lambda function\n* Enable reusing connections with Keep-Alive for NodeJs Lambda function\n* Enable X-Ray Tracing\n* Enable Failure-Handling features like enable bisect on function Error, set defaults for Maximum Record Age (24 hours) & Maximum Retry Attempts (500) and deploy SQS dead-letter queue as destination on failure\n* Set Environment Variables\n * AWS_NODEJS_CONNECTION_REUSE_ENABLED (for Node 10.x and higher functions)\n\n## Architecture\n![Architecture Diagram](architecture.png)\n\n***\n&copy; Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n"
3996
+ "markdown": "Documentation for this pattern can be found [here](https://github.com/awslabs/aws-solutions-constructs/blob/main/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-lambda/README.adoc)\n"
3997
3997
  },
3998
3998
  "repository": {
3999
3999
  "directory": "source/patterns/@aws-solutions-constructs/aws-kinesisstreams-lambda",
@@ -4278,6 +4278,6 @@
4278
4278
  "symbolId": "lib/index:KinesisStreamsToLambdaProps"
4279
4279
  }
4280
4280
  },
4281
- "version": "2.85.2",
4282
- "fingerprint": "RsQGClSZx9D+8tMDCsP49WnpJiGYuDgqgBLBjhP70Ao="
4281
+ "version": "2.85.4",
4282
+ "fingerprint": "ShbzqwANnRbajYFAlvl7cf+hLLv7yx4DiWNnsVVOw7s="
4283
4283
  }
package/README.adoc ADDED
@@ -0,0 +1,209 @@
1
+ //!!NODE_ROOT <section>
2
+ //== aws-kinesisstreams-lambda module
3
+
4
+ [.topic]
5
+ = aws-kinesisstreams-lambda
6
+ :info_doctype: section
7
+ :info_title: aws-kinesisstreams-lambda
8
+
9
+
10
+ image:https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge[Stability:Stable]
11
+
12
+ [width="100%",cols="<50%,<50%",options="header",]
13
+ |===
14
+ |*Reference Documentation*:
15
+ |https://docs.aws.amazon.com/solutions/latest/constructs/
16
+ |===
17
+
18
+ [width="100%",cols="<46%,54%",options="header",]
19
+ |===
20
+ |*Language* |*Package*
21
+ |image:https://docs.aws.amazon.com/cdk/api/latest/img/python32.png[Python
22
+ Logo] Python
23
+ |`aws_solutions_constructs.aws-kinesis-streams-lambda`
24
+
25
+ |image:https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png[Typescript
26
+ Logo] Typescript |`@aws-solutions-constructs/aws-kinesisstreams-lambda`
27
+
28
+ |image:https://docs.aws.amazon.com/cdk/api/latest/img/java32.png[Java
29
+ Logo] Java
30
+ |`software.amazon.awsconstructs.services.kinesisstreamslambda`
31
+ |===
32
+
33
+ == Overview
34
+
35
+ This AWS Solutions Construct deploys a Kinesis Stream and Lambda
36
+ function with the appropriate resources/properties for interaction and
37
+ security.
38
+
39
+ Here is a minimal deployable pattern definition:
40
+
41
+ ====
42
+ [role="tablist"]
43
+ Typescript::
44
+ +
45
+ [source,typescript]
46
+ ----
47
+ import { Construct } from 'constructs';
48
+ import { Stack, StackProps } from 'aws-cdk-lib';
49
+ import { KinesisStreamsToLambda } from '@aws-solutions-constructs/aws-kinesisstreams-lambda';
50
+ import * as lambda from 'aws-cdk-lib/aws-lambda';
51
+
52
+ new KinesisStreamsToLambda(this, 'KinesisToLambdaPattern', {
53
+ kinesisEventSourceProps: {
54
+ startingPosition: lambda.StartingPosition.TRIM_HORIZON,
55
+ batchSize: 1
56
+ },
57
+ lambdaFunctionProps: {
58
+ runtime: lambda.Runtime.NODEJS_20_X,
59
+ handler: 'index.handler',
60
+ code: lambda.Code.fromAsset(`lambda`)
61
+ }
62
+ });
63
+ ----
64
+
65
+ Python::
66
+ +
67
+ [source,python]
68
+ ----
69
+ from aws_solutions_constructs.aws_kinesis_streams_lambda import KinesisStreamsToLambda
70
+ from aws_cdk import (
71
+ aws_lambda as _lambda,
72
+ aws_lambda_event_sources as sources,
73
+ aws_kinesis as kinesis,
74
+ Stack
75
+ )
76
+ from constructs import Construct
77
+
78
+ KinesisStreamsToLambda(self, 'KinesisToLambdaPattern',
79
+ kinesis_event_source_props=sources.KinesisEventSourceProps(
80
+ starting_position=_lambda.StartingPosition.TRIM_HORIZON,
81
+ batch_size=1
82
+ ),
83
+ lambda_function_props=_lambda.FunctionProps(
84
+ runtime=_lambda.Runtime.PYTHON_3_11,
85
+ handler='index.handler',
86
+ code=_lambda.Code.from_asset(
87
+ 'lambda')
88
+ )
89
+ )
90
+ ----
91
+
92
+ Java::
93
+ +
94
+ [source,java]
95
+ ----
96
+ import software.constructs.Construct;
97
+
98
+ import software.amazon.awscdk.Stack;
99
+ import software.amazon.awscdk.StackProps;
100
+ import software.amazon.awscdk.services.lambda.*;
101
+ import software.amazon.awscdk.services.lambda.eventsources.*;
102
+ import software.amazon.awscdk.services.lambda.Runtime;
103
+ import software.amazon.awsconstructs.services.kinesisstreamslambda.*;
104
+
105
+ new KinesisStreamsToLambda(this, "KinesisToLambdaPattern", new KinesisStreamsToLambdaProps.Builder()
106
+ .kinesisEventSourceProps(new KinesisEventSourceProps.Builder()
107
+ .startingPosition(StartingPosition.TRIM_HORIZON)
108
+ .batchSize(1)
109
+ .build())
110
+ .lambdaFunctionProps(new FunctionProps.Builder()
111
+ .runtime(Runtime.NODEJS_20_X)
112
+ .code(Code.fromAsset("lambda"))
113
+ .handler("index.handler")
114
+ .build())
115
+ .build());
116
+ ----
117
+ ====
118
+
119
+ == Pattern Construct Props
120
+
121
+ [width="100%",cols="<30%,<35%,35%",options="header",]
122
+ |===
123
+ |*Name* |*Type* |*Description*
124
+ |existingLambdaObj?
125
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html[`lambda.Function`]
126
+ |Existing instance of Lambda Function object, providing both this and
127
+ `lambdaFunctionProps` will cause an error.
128
+
129
+ |lambdaFunctionProps?
130
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.FunctionProps.html[`lambda.FunctionProps`]
131
+ |User provided props to override the default props for the Lambda
132
+ function.
133
+
134
+ |kinesisStreamProps?
135
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.StreamProps.html[`kinesis.StreamProps`]
136
+ |Optional user-provided props to override the default props for the
137
+ Kinesis stream.
138
+
139
+ |existingStreamObj?
140
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.Stream.html[`kinesis.Stream`]
141
+ |Existing instance of Kinesis Stream, providing both this and
142
+ `kinesisStreamProps` will cause an error.
143
+
144
+ |kinesisEventSourceProps?
145
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda_event_sources.KinesisEventSourceProps.html[`aws-lambda-event-sources.KinesisEventSourceProps`]
146
+ |Optional user-provided props to override the default props for the
147
+ Lambda event source mapping.
148
+
149
+ |createCloudWatchAlarms |`boolean` |Whether to create recommended
150
+ CloudWatch alarms
151
+ |===
152
+
153
+ == Pattern Properties
154
+
155
+ [width="100%",cols="<30%,<35%,35%",options="header",]
156
+ |===
157
+ |*Name* |*Type* |*Description*
158
+ |kinesisStream
159
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.Stream.html[`kinesis.Stream`]
160
+ |Returns an instance of the Kinesis stream created by the pattern.
161
+
162
+ |lambdaFunction
163
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html[`lambda.Function`]
164
+ |Returns an instance of the Lambda function created by the pattern.
165
+
166
+ |kinesisStreamRole
167
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html[`iam.Role`]
168
+ |Returns an instance of the iam.Role created by the construct for
169
+ Kinesis stream.
170
+
171
+ |cloudwatchAlarms?
172
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch.Alarm.html[`cloudwatch.Alarm[\]`]
173
+ |Returns a list of cloudwatch.Alarm created by the construct
174
+ |===
175
+
176
+ == Default settings
177
+
178
+ Out of the box implementation of the Construct without any override will
179
+ set the following defaults:
180
+
181
+ === Amazon Kinesis Stream
182
+
183
+ * Configure least privilege access IAM role for Kinesis Stream
184
+ * Enable server-side encryption for Kinesis Stream using AWS Managed KMS
185
+ Key
186
+ * Deploy best practices CloudWatch Alarms for the Kinesis Stream
187
+
188
+ === AWS Lambda Function
189
+
190
+ * Configure limited privilege access IAM role for Lambda function
191
+ * Enable reusing connections with Keep-Alive for NodeJs Lambda function
192
+ * Enable X-Ray Tracing
193
+ * Enable Failure-Handling features like enable bisect on function Error,
194
+ set defaults for Maximum Record Age (24 hours) & Maximum Retry Attempts
195
+ (500) and deploy SQS dead-letter queue as destination on failure
196
+ * Set Environment Variables
197
+ ** AWS_NODEJS_CONNECTION_REUSE_ENABLED (for Node 10.x
198
+ and higher functions)
199
+
200
+ == Architecture
201
+
202
+
203
+ image::aws-kinesisstreams-lambda.png["Diagram showing the Kinesis data stream, CloudWatch log group, Lambda function and IAM role created by the construct",scaledwidth=100%]
204
+
205
+ // github block
206
+
207
+ '''''
208
+
209
+ © Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
package/README.md CHANGED
@@ -1,137 +1 @@
1
- # aws-kinesisstreams-lambda module
2
- <!--BEGIN STABILITY BANNER-->
3
-
4
- ---
5
-
6
- ![Stability: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
7
-
8
- ---
9
- <!--END STABILITY BANNER-->
10
-
11
- | **Reference Documentation**:| <span style="font-weight: normal">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|
12
- |:-------------|:-------------|
13
- <div style="height:8px"></div>
14
-
15
- | **Language** | **Package** |
16
- |:-------------|-----------------|
17
- |![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws-kinesis-streams-lambda`|
18
- |![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-kinesisstreams-lambda`|
19
- |![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.kinesisstreamslambda`|
20
-
21
- ## Overview
22
- This AWS Solutions Construct deploys a Kinesis Stream and Lambda function with the appropriate resources/properties for interaction and security.
23
-
24
- Here is a minimal deployable pattern definition:
25
-
26
- Typescript
27
- ``` typescript
28
- import { Construct } from 'constructs';
29
- import { Stack, StackProps } from 'aws-cdk-lib';
30
- import { KinesisStreamsToLambda } from '@aws-solutions-constructs/aws-kinesisstreams-lambda';
31
- import * as lambda from 'aws-cdk-lib/aws-lambda';
32
-
33
- new KinesisStreamsToLambda(this, 'KinesisToLambdaPattern', {
34
- kinesisEventSourceProps: {
35
- startingPosition: lambda.StartingPosition.TRIM_HORIZON,
36
- batchSize: 1
37
- },
38
- lambdaFunctionProps: {
39
- runtime: lambda.Runtime.NODEJS_20_X,
40
- handler: 'index.handler',
41
- code: lambda.Code.fromAsset(`lambda`)
42
- }
43
- });
44
- ```
45
-
46
- Python
47
- ``` python
48
- from aws_solutions_constructs.aws_kinesis_streams_lambda import KinesisStreamsToLambda
49
- from aws_cdk import (
50
- aws_lambda as _lambda,
51
- aws_lambda_event_sources as sources,
52
- aws_kinesis as kinesis,
53
- Stack
54
- )
55
- from constructs import Construct
56
-
57
- KinesisStreamsToLambda(self, 'KinesisToLambdaPattern',
58
- kinesis_event_source_props=sources.KinesisEventSourceProps(
59
- starting_position=_lambda.StartingPosition.TRIM_HORIZON,
60
- batch_size=1
61
- ),
62
- lambda_function_props=_lambda.FunctionProps(
63
- runtime=_lambda.Runtime.PYTHON_3_11,
64
- handler='index.handler',
65
- code=_lambda.Code.from_asset(
66
- 'lambda')
67
- )
68
- )
69
-
70
- ```
71
-
72
- Java
73
- ``` java
74
- import software.constructs.Construct;
75
-
76
- import software.amazon.awscdk.Stack;
77
- import software.amazon.awscdk.StackProps;
78
- import software.amazon.awscdk.services.lambda.*;
79
- import software.amazon.awscdk.services.lambda.eventsources.*;
80
- import software.amazon.awscdk.services.lambda.Runtime;
81
- import software.amazon.awsconstructs.services.kinesisstreamslambda.*;
82
-
83
- new KinesisStreamsToLambda(this, "KinesisToLambdaPattern", new KinesisStreamsToLambdaProps.Builder()
84
- .kinesisEventSourceProps(new KinesisEventSourceProps.Builder()
85
- .startingPosition(StartingPosition.TRIM_HORIZON)
86
- .batchSize(1)
87
- .build())
88
- .lambdaFunctionProps(new FunctionProps.Builder()
89
- .runtime(Runtime.NODEJS_20_X)
90
- .code(Code.fromAsset("lambda"))
91
- .handler("index.handler")
92
- .build())
93
- .build());
94
- ```
95
-
96
- ## Pattern Construct Props
97
-
98
- | **Name** | **Type** | **Description** |
99
- |:-------------|:----------------|-----------------|
100
- |existingLambdaObj?|[`lambda.Function`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html)|Existing instance of Lambda Function object, providing both this and `lambdaFunctionProps` will cause an error.|
101
- |lambdaFunctionProps?|[`lambda.FunctionProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.FunctionProps.html)|User provided props to override the default props for the Lambda function.|
102
- |kinesisStreamProps?|[`kinesis.StreamProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.StreamProps.html)|Optional user-provided props to override the default props for the Kinesis stream.|
103
- |existingStreamObj?|[`kinesis.Stream`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.Stream.html)|Existing instance of Kinesis Stream, providing both this and `kinesisStreamProps` will cause an error.|
104
- |kinesisEventSourceProps?|[`aws-lambda-event-sources.KinesisEventSourceProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda_event_sources.KinesisEventSourceProps.html)|Optional user-provided props to override the default props for the Lambda event source mapping.|
105
- |createCloudWatchAlarms|`boolean`|Whether to create recommended CloudWatch alarms|
106
-
107
- ## Pattern Properties
108
-
109
- | **Name** | **Type** | **Description** |
110
- |:-------------|:----------------|-----------------|
111
- |kinesisStream|[`kinesis.Stream`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.Stream.html)|Returns an instance of the Kinesis stream created by the pattern.|
112
- |lambdaFunction|[`lambda.Function`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html)|Returns an instance of the Lambda function created by the pattern.|
113
- |kinesisStreamRole|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html)|Returns an instance of the iam.Role created by the construct for Kinesis stream.|
114
- |cloudwatchAlarms?|[`cloudwatch.Alarm[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch.Alarm.html)|Returns a list of cloudwatch.Alarm created by the construct|
115
-
116
- ## Default settings
117
-
118
- Out of the box implementation of the Construct without any override will set the following defaults:
119
-
120
- ### Amazon Kinesis Stream
121
- * Configure least privilege access IAM role for Kinesis Stream
122
- * Enable server-side encryption for Kinesis Stream using AWS Managed KMS Key
123
- * Deploy best practices CloudWatch Alarms for the Kinesis Stream
124
-
125
- ### AWS Lambda Function
126
- * Configure limited privilege access IAM role for Lambda function
127
- * Enable reusing connections with Keep-Alive for NodeJs Lambda function
128
- * Enable X-Ray Tracing
129
- * Enable Failure-Handling features like enable bisect on function Error, set defaults for Maximum Record Age (24 hours) & Maximum Retry Attempts (500) and deploy SQS dead-letter queue as destination on failure
130
- * Set Environment Variables
131
- * AWS_NODEJS_CONNECTION_REUSE_ENABLED (for Node 10.x and higher functions)
132
-
133
- ## Architecture
134
- ![Architecture Diagram](architecture.png)
135
-
136
- ***
137
- &copy; Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ Documentation for this pattern can be found [here](https://github.com/awslabs/aws-solutions-constructs/blob/main/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-lambda/README.adoc)
package/lib/index.js CHANGED
@@ -50,5 +50,5 @@ class KinesisStreamsToLambda extends constructs_1.Construct {
50
50
  }
51
51
  exports.KinesisStreamsToLambda = KinesisStreamsToLambda;
52
52
  _a = JSII_RTTI_SYMBOL_1;
53
- KinesisStreamsToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-kinesisstreams-lambda.KinesisStreamsToLambda", version: "2.85.2" };
53
+ KinesisStreamsToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-kinesisstreams-lambda.KinesisStreamsToLambda", version: "2.85.4" };
54
54
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWVBLG1GQUFtRztBQUVuRywyREFBMkQ7QUFDM0Qsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQTJEdkM7O0dBRUc7QUFDSCxNQUFhLHNCQUF1QixTQUFRLHNCQUFTO0lBS2pEOzs7Ozs7O09BT0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtDO1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QywyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFO1lBQ3JELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtTQUM3QyxDQUFDLENBQUM7UUFFSCw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFO1lBQ3ZELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtTQUMvQyxDQUFDLENBQUM7UUFFSCwyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVqRSxzQ0FBc0M7UUFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsOEJBQThCLENBQUMsSUFBSSxFQUFFO1lBQ3JFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyx1QkFBdUI7WUFDL0MsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtZQUMxQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1NBQ3pDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksNkNBQWtCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFFakcsSUFBSSxLQUFLLENBQUMsc0JBQXNCLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQy9FLHFEQUFxRDtZQUNyRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDOztBQTdDTCx3REE4Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBLaW5lc2lzRXZlbnRTb3VyY2VQcm9wcywgS2luZXNpc0V2ZW50U291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ldmVudC1zb3VyY2VzJztcbmltcG9ydCAqIGFzIGtpbmVzaXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWtpbmVzaXMnO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgc3FzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zcXMnO1xuaW1wb3J0ICogYXMgY2xvdWR3YXRjaCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgZm9yIHRoZSBLaW5lc2lzU3RyZWFtc1RvTGFtYmRhIGNsYXNzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtpbmVzaXNTdHJlYW1zVG9MYW1iZGFQcm9wcyB7XG4gICAgLyoqXG4gICAgICogRXhpc3RpbmcgaW5zdGFuY2Ugb2YgTGFtYmRhIEZ1bmN0aW9uIG9iamVjdCwgcHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgYGxhbWJkYUZ1bmN0aW9uUHJvcHNgIHdpbGwgY2F1c2UgYW4gZXJyb3IuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICAgKi9cbiAgICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbixcbiAgICAvKipcbiAgICAgKiBVc2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgTGFtYmRhIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHByb3BzIGFyZSB1c2VkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uUHJvcHM/OiBsYW1iZGEuRnVuY3Rpb25Qcm9wcyxcbiAgICAvKipcbiAgICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBLaW5lc2lzIFN0cmVhbSwgcHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgYGtpbmVzaXNTdHJlYW1Qcm9wc2Agd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGV4aXN0aW5nU3RyZWFtT2JqPzoga2luZXNpcy5TdHJlYW07XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWwgdXNlci1wcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIEtpbmVzaXMgc3RyZWFtLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHByb3BzIGFyZSB1c2VkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGtpbmVzaXNTdHJlYW1Qcm9wcz86IGtpbmVzaXMuU3RyZWFtUHJvcHMsXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWwgdXNlci1wcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIExhbWJkYSBldmVudCBzb3VyY2UgbWFwcGluZy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBraW5lc2lzRXZlbnRTb3VyY2VQcm9wcz86IEtpbmVzaXNFdmVudFNvdXJjZVByb3BzIHwgYW55LFxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZGVwbG95IGEgU1FTIGRlYWQgbGV0dGVyIHF1ZXVlIHdoZW4gYSBkYXRhIHJlY29yZCByZWFjaGVzIHRoZSBNYXhpbXVtIFJldHJ5IEF0dGVtcHRzIG9yIE1heGltdW0gUmVjb3JkIEFnZSxcbiAgICAgKiBpdHMgbWV0YWRhdGEgbGlrZSBzaGFyZCBJRCBhbmQgc3RyZWFtIEFSTiB3aWxsIGJlIHNlbnQgdG8gYW4gU1FTIHF1ZXVlLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSB0cnVlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlcGxveVNxc0RscVF1ZXVlPzogYm9vbGVhbixcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BlcnRpZXMgZm9yIHRoZSBTUVMgZGVhZCBsZXR0ZXIgcXVldWVcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNxc0RscVF1ZXVlUHJvcHM/OiBzcXMuUXVldWVQcm9wc1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gY3JlYXRlIHJlY29tbWVuZGVkIENsb3VkV2F0Y2ggYWxhcm1zXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIEFsYXJtcyBhcmUgY3JlYXRlZFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNyZWF0ZUNsb3VkV2F0Y2hBbGFybXM/OiBib29sZWFuXG59XG5cbi8qKlxuICogQHN1bW1hcnkgVGhlIEtpbmVzaXNTdHJlYW1zVG9MYW1iZGEgY2xhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBLaW5lc2lzU3RyZWFtc1RvTGFtYmRhIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkga2luZXNpc1N0cmVhbToga2luZXNpcy5TdHJlYW07XG4gICAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG4gICAgcHVibGljIHJlYWRvbmx5IGNsb3Vkd2F0Y2hBbGFybXM/OiBjbG91ZHdhdGNoLkFsYXJtW107XG5cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBLaW5lc2lzU3RyZWFtc1RvTGFtYmRhIGNsYXNzLlxuICAgICAqIEBwYXJhbSB7Y2RrLkFwcH0gc2NvcGUgLSByZXByZXNlbnRzIHRoZSBzY29wZSBmb3IgYWxsIHRoZSByZXNvdXJjZXMuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gdGhpcyBpcyBhIGEgc2NvcGUtdW5pcXVlIGlkLlxuICAgICAqIEBwYXJhbSB7S2luZXNpc1N0cmVhbXNUb0xhbWJkYVByb3BzfSBwcm9wcyAtIHVzZXIgcHJvdmlkZWQgcHJvcHMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAgICAgKiBAc2luY2UgMC44LjBcbiAgICAgKiBAYWNjZXNzIHB1YmxpY1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBLaW5lc2lzU3RyZWFtc1RvTGFtYmRhUHJvcHMpIHtcbiAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgICBkZWZhdWx0cy5DaGVja0xhbWJkYVByb3BzKHByb3BzKTtcbiAgICAgIGRlZmF1bHRzLkNoZWNrS2luZXNpc1N0cmVhbVByb3BzKHByb3BzKTtcblxuICAgICAgLy8gU2V0dXAgdGhlIEtpbmVzaXMgU3RyZWFtXG4gICAgICB0aGlzLmtpbmVzaXNTdHJlYW0gPSBkZWZhdWx0cy5idWlsZEtpbmVzaXNTdHJlYW0odGhpcywge1xuICAgICAgICBleGlzdGluZ1N0cmVhbU9iajogcHJvcHMuZXhpc3RpbmdTdHJlYW1PYmosXG4gICAgICAgIGtpbmVzaXNTdHJlYW1Qcm9wczogcHJvcHMua2luZXNpc1N0cmVhbVByb3BzXG4gICAgICB9KTtcblxuICAgICAgLy8gU2V0dXAgdGhlIExhbWJkYSBmdW5jdGlvblxuICAgICAgdGhpcy5sYW1iZGFGdW5jdGlvbiA9IGRlZmF1bHRzLmJ1aWxkTGFtYmRhRnVuY3Rpb24odGhpcywge1xuICAgICAgICBleGlzdGluZ0xhbWJkYU9iajogcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmosXG4gICAgICAgIGxhbWJkYUZ1bmN0aW9uUHJvcHM6IHByb3BzLmxhbWJkYUZ1bmN0aW9uUHJvcHNcbiAgICAgIH0pO1xuXG4gICAgICAvLyBHcmFudCBLaW5lc2lzIFN0cmVhbSByZWFkIHBlcmltc3Npb24gZm9yIGxhbWJkYSBmdW5jdGlvblxuICAgICAgdGhpcy5raW5lc2lzU3RyZWFtLmdyYW50UmVhZCh0aGlzLmxhbWJkYUZ1bmN0aW9uLmdyYW50UHJpbmNpcGFsKTtcblxuICAgICAgLy8gQWRkIHRoZSBMYW1iZGEgZXZlbnQgc291cmNlIG1hcHBpbmdcbiAgICAgIGNvbnN0IGV2ZW50U291cmNlUHJvcHMgPSBkZWZhdWx0cy5EZWZhdWx0S2luZXNpc0V2ZW50U291cmNlUHJvcHModGhpcywge1xuICAgICAgICBldmVudFNvdXJjZVByb3BzOiBwcm9wcy5raW5lc2lzRXZlbnRTb3VyY2VQcm9wcyxcbiAgICAgICAgZGVwbG95U3FzRGxxUXVldWU6IHByb3BzLmRlcGxveVNxc0RscVF1ZXVlLFxuICAgICAgICBzcXNEbHFRdWV1ZVByb3BzOiBwcm9wcy5zcXNEbHFRdWV1ZVByb3BzXG4gICAgICB9KTtcbiAgICAgIHRoaXMubGFtYmRhRnVuY3Rpb24uYWRkRXZlbnRTb3VyY2UobmV3IEtpbmVzaXNFdmVudFNvdXJjZSh0aGlzLmtpbmVzaXNTdHJlYW0sIGV2ZW50U291cmNlUHJvcHMpKTtcblxuICAgICAgaWYgKHByb3BzLmNyZWF0ZUNsb3VkV2F0Y2hBbGFybXMgPT09IHVuZGVmaW5lZCB8fCBwcm9wcy5jcmVhdGVDbG91ZFdhdGNoQWxhcm1zKSB7XG4gICAgICAgIC8vIERlcGxveSBiZXN0IHByYWN0aWNlcyBDVyBBbGFybXMgZm9yIEtpbmVzaXMgU3RyZWFtXG4gICAgICAgIHRoaXMuY2xvdWR3YXRjaEFsYXJtcyA9IGRlZmF1bHRzLmJ1aWxkS2luZXNpc1N0cmVhbUNXQWxhcm1zKHRoaXMpO1xuICAgICAgfVxuICAgIH1cbn0iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-solutions-constructs/aws-kinesisstreams-lambda",
3
- "version": "2.85.2",
3
+ "version": "2.85.4",
4
4
  "description": "CDK constructs for defining an interaction between an Amazon Kinesis Data Stream and an AWS Lambda function.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -22,12 +22,13 @@
22
22
  "test": "jest --coverage",
23
23
  "clean": "tsc -b --clean",
24
24
  "watch": "tsc -b -w",
25
+ "asciidoc": "asciidoctor --failure-level WARNING -o /dev/null README.adoc",
25
26
  "integ": "integ-runner --update-on-failed",
26
27
  "integ-no-clean": "integ-runner --update-on-failed --no-clean",
27
28
  "integ-assert": "integ-runner",
28
29
  "jsii": "jsii",
29
30
  "jsii-pacmak": "jsii-pacmak",
30
- "build+lint+test": "npm run jsii && npm run lint && npm test && npm run integ-assert",
31
+ "build+lint+test": "npm run jsii && npm run lint && npm run asciidoc && npm test && npm run integ-assert",
31
32
  "blt": "npm run build+lint+test",
32
33
  "snapshot-update": "npm run jsii && npm test -- -u && npm run integ-assert"
33
34
  },
@@ -54,7 +55,7 @@
54
55
  }
55
56
  },
56
57
  "dependencies": {
57
- "@aws-solutions-constructs/core": "2.85.2",
58
+ "@aws-solutions-constructs/core": "2.85.4",
58
59
  "constructs": "^10.0.0"
59
60
  },
60
61
  "devDependencies": {
@@ -78,7 +79,7 @@
78
79
  ]
79
80
  },
80
81
  "peerDependencies": {
81
- "@aws-solutions-constructs/core": "2.85.2",
82
+ "@aws-solutions-constructs/core": "2.85.4",
82
83
  "constructs": "^10.0.0",
83
84
  "aws-cdk-lib": "^2.193.0"
84
85
  },