@aws-solutions-constructs/aws-lambda-kinesisstreams 2.44.0 → 2.46.0
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 +106 -15
- package/README.md +1 -1
- package/lib/index.js +5 -3
- package/package.json +5 -5
- package/test/{integ.existingLambda.expected.json → integ.lamkin-existingLambda.expected.json} +8 -8
- package/test/integ.lamkin-existingLambda.js +31 -0
- package/test/{integ.existingStream.expected.json → integ.lamkin-existingStream.expected.json} +8 -8
- package/test/integ.lamkin-existingStream.js +37 -0
- package/test/{integ.existingStreamWithCmk.expected.json → integ.lamkin-existingStreamWithCmk.expected.json} +10 -10
- package/test/integ.lamkin-existingStreamWithCmk.js +39 -0
- package/test/{integ.existingVpc.expected.json → integ.lamkin-existingVpc.expected.json} +129 -129
- package/test/integ.lamkin-existingVpc.js +34 -0
- package/test/{integ.newStreamFromProps.expected.json → integ.lamkin-newStreamFromProps.expected.json} +8 -8
- package/test/{integ.noArguments.js → integ.lamkin-newStreamFromProps.js} +5 -1
- package/test/{integ.newVpc.expected.json → integ.lamkin-newVpc.expected.json} +62 -62
- package/test/integ.lamkin-newVpc.js +31 -0
- package/test/{integ.newVpcFromProps.expected.json → integ.lamkin-newVpcFromProps.expected.json} +42 -42
- package/test/integ.lamkin-newVpcFromProps.js +34 -0
- package/test/{integ.noArguments.expected.json → integ.lamkin-noArguments.expected.json} +8 -8
- package/test/integ.lamkin-noArguments.js +30 -0
- package/test/lambda-kinesisstream.test.js +65 -1
- package/test/integ.existingLambda.js +0 -31
- package/test/integ.existingStream.js +0 -37
- package/test/integ.existingStreamWithCmk.js +0 -39
- package/test/integ.existingVpc.js +0 -34
- package/test/integ.newStreamFromProps.js +0 -34
- package/test/integ.newVpc.js +0 -31
- package/test/integ.newVpcFromProps.js +0 -34
- /package/test/{integ.existingLambda.d.ts → integ.lamkin-existingLambda.d.ts} +0 -0
- /package/test/{integ.existingStream.d.ts → integ.lamkin-existingStream.d.ts} +0 -0
- /package/test/{integ.existingStreamWithCmk.d.ts → integ.lamkin-existingStreamWithCmk.d.ts} +0 -0
- /package/test/{integ.existingVpc.d.ts → integ.lamkin-existingVpc.d.ts} +0 -0
- /package/test/{integ.newStreamFromProps.d.ts → integ.lamkin-newStreamFromProps.d.ts} +0 -0
- /package/test/{integ.newVpc.d.ts → integ.lamkin-newVpc.d.ts} +0 -0
- /package/test/{integ.newVpcFromProps.d.ts → integ.lamkin-newVpcFromProps.d.ts} +0 -0
- /package/test/{integ.noArguments.d.ts → integ.lamkin-noArguments.d.ts} +0 -0
package/.jsii
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@aws-solutions-constructs/core": "2.
|
|
12
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"@aws-solutions-constructs/core": "2.46.0",
|
|
12
|
+
"aws-cdk-lib": "^2.105.0",
|
|
13
13
|
"constructs": "^10.0.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencyClosure": {
|
|
@@ -65,29 +65,29 @@
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
|
-
"@aws-cdk/asset-node-proxy-agent-
|
|
68
|
+
"@aws-cdk/asset-node-proxy-agent-v6": {
|
|
69
69
|
"targets": {
|
|
70
70
|
"dotnet": {
|
|
71
|
-
"namespace": "Amazon.CDK.Asset.
|
|
72
|
-
"packageId": "Amazon.CDK.Asset.
|
|
71
|
+
"namespace": "Amazon.CDK.Asset.NodeProxyAgentV6",
|
|
72
|
+
"packageId": "Amazon.CDK.Asset.NodeProxyAgentV6"
|
|
73
73
|
},
|
|
74
74
|
"go": {
|
|
75
75
|
"moduleName": "github.com/cdklabs/awscdk-asset-node-proxy-agent-go",
|
|
76
|
-
"packageName": "
|
|
76
|
+
"packageName": "nodeproxyagentv6"
|
|
77
77
|
},
|
|
78
78
|
"java": {
|
|
79
79
|
"maven": {
|
|
80
|
-
"artifactId": "cdk-asset-node-proxy-agent-
|
|
80
|
+
"artifactId": "cdk-asset-node-proxy-agent-v6",
|
|
81
81
|
"groupId": "software.amazon.awscdk"
|
|
82
82
|
},
|
|
83
|
-
"package": "software.amazon.awscdk.cdk.asset.node.proxy.agent.
|
|
83
|
+
"package": "software.amazon.awscdk.cdk.asset.node.proxy.agent.v6"
|
|
84
84
|
},
|
|
85
85
|
"js": {
|
|
86
|
-
"npm": "@aws-cdk/asset-node-proxy-agent-
|
|
86
|
+
"npm": "@aws-cdk/asset-node-proxy-agent-v6"
|
|
87
87
|
},
|
|
88
88
|
"python": {
|
|
89
|
-
"distName": "aws-cdk.asset-node-proxy-agent-
|
|
90
|
-
"module": "aws_cdk.
|
|
89
|
+
"distName": "aws-cdk.asset-node-proxy-agent-v6",
|
|
90
|
+
"module": "aws_cdk.asset_node_proxy_agent_v6"
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
},
|
|
@@ -572,6 +572,19 @@
|
|
|
572
572
|
}
|
|
573
573
|
}
|
|
574
574
|
},
|
|
575
|
+
"aws-cdk-lib.aws_cleanrooms": {
|
|
576
|
+
"targets": {
|
|
577
|
+
"dotnet": {
|
|
578
|
+
"package": "Amazon.CDK.AWS.CleanRooms"
|
|
579
|
+
},
|
|
580
|
+
"java": {
|
|
581
|
+
"package": "services.cleanrooms"
|
|
582
|
+
},
|
|
583
|
+
"python": {
|
|
584
|
+
"module": "aws_cdk.aws_cleanrooms"
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
},
|
|
575
588
|
"aws-cdk-lib.aws_cloud9": {
|
|
576
589
|
"targets": {
|
|
577
590
|
"dotnet": {
|
|
@@ -1301,6 +1314,19 @@
|
|
|
1301
1314
|
}
|
|
1302
1315
|
}
|
|
1303
1316
|
},
|
|
1317
|
+
"aws-cdk-lib.aws_entityresolution": {
|
|
1318
|
+
"targets": {
|
|
1319
|
+
"dotnet": {
|
|
1320
|
+
"package": "Amazon.CDK.AWS.EntityResolution"
|
|
1321
|
+
},
|
|
1322
|
+
"java": {
|
|
1323
|
+
"package": "services.entityresolution"
|
|
1324
|
+
},
|
|
1325
|
+
"python": {
|
|
1326
|
+
"module": "aws_cdk.aws_entityresolution"
|
|
1327
|
+
}
|
|
1328
|
+
}
|
|
1329
|
+
},
|
|
1304
1330
|
"aws-cdk-lib.aws_events": {
|
|
1305
1331
|
"targets": {
|
|
1306
1332
|
"dotnet": {
|
|
@@ -1548,6 +1574,19 @@
|
|
|
1548
1574
|
}
|
|
1549
1575
|
}
|
|
1550
1576
|
},
|
|
1577
|
+
"aws-cdk-lib.aws_healthimaging": {
|
|
1578
|
+
"targets": {
|
|
1579
|
+
"dotnet": {
|
|
1580
|
+
"package": "Amazon.CDK.AWS.HealthImaging"
|
|
1581
|
+
},
|
|
1582
|
+
"java": {
|
|
1583
|
+
"package": "services.healthimaging"
|
|
1584
|
+
},
|
|
1585
|
+
"python": {
|
|
1586
|
+
"module": "aws_cdk.aws_healthimaging"
|
|
1587
|
+
}
|
|
1588
|
+
}
|
|
1589
|
+
},
|
|
1551
1590
|
"aws-cdk-lib.aws_healthlake": {
|
|
1552
1591
|
"targets": {
|
|
1553
1592
|
"dotnet": {
|
|
@@ -2198,6 +2237,19 @@
|
|
|
2198
2237
|
}
|
|
2199
2238
|
}
|
|
2200
2239
|
},
|
|
2240
|
+
"aws-cdk-lib.aws_mediapackagev2": {
|
|
2241
|
+
"targets": {
|
|
2242
|
+
"dotnet": {
|
|
2243
|
+
"package": "Amazon.CDK.AWS.MediaPackageV2"
|
|
2244
|
+
},
|
|
2245
|
+
"java": {
|
|
2246
|
+
"package": "services.mediapackagev2"
|
|
2247
|
+
},
|
|
2248
|
+
"python": {
|
|
2249
|
+
"module": "aws_cdk.aws_mediapackagev2"
|
|
2250
|
+
}
|
|
2251
|
+
}
|
|
2252
|
+
},
|
|
2201
2253
|
"aws-cdk-lib.aws_mediastore": {
|
|
2202
2254
|
"targets": {
|
|
2203
2255
|
"dotnet": {
|
|
@@ -2432,6 +2484,19 @@
|
|
|
2432
2484
|
}
|
|
2433
2485
|
}
|
|
2434
2486
|
},
|
|
2487
|
+
"aws-cdk-lib.aws_pcaconnectorad": {
|
|
2488
|
+
"targets": {
|
|
2489
|
+
"dotnet": {
|
|
2490
|
+
"package": "Amazon.CDK.AWS.PCAConnectorAD"
|
|
2491
|
+
},
|
|
2492
|
+
"java": {
|
|
2493
|
+
"package": "services.pcaconnectorad"
|
|
2494
|
+
},
|
|
2495
|
+
"python": {
|
|
2496
|
+
"module": "aws_cdk.aws_pcaconnectorad"
|
|
2497
|
+
}
|
|
2498
|
+
}
|
|
2499
|
+
},
|
|
2435
2500
|
"aws-cdk-lib.aws_personalize": {
|
|
2436
2501
|
"targets": {
|
|
2437
2502
|
"dotnet": {
|
|
@@ -3199,6 +3264,19 @@
|
|
|
3199
3264
|
}
|
|
3200
3265
|
}
|
|
3201
3266
|
},
|
|
3267
|
+
"aws-cdk-lib.aws_verifiedpermissions": {
|
|
3268
|
+
"targets": {
|
|
3269
|
+
"dotnet": {
|
|
3270
|
+
"package": "Amazon.CDK.AWS.VerifiedPermissions"
|
|
3271
|
+
},
|
|
3272
|
+
"java": {
|
|
3273
|
+
"package": "services.verifiedpermissions"
|
|
3274
|
+
},
|
|
3275
|
+
"python": {
|
|
3276
|
+
"module": "aws_cdk.aws_verifiedpermissions"
|
|
3277
|
+
}
|
|
3278
|
+
}
|
|
3279
|
+
},
|
|
3202
3280
|
"aws-cdk-lib.aws_voiceid": {
|
|
3203
3281
|
"targets": {
|
|
3204
3282
|
"dotnet": {
|
|
@@ -3290,6 +3368,19 @@
|
|
|
3290
3368
|
}
|
|
3291
3369
|
}
|
|
3292
3370
|
},
|
|
3371
|
+
"aws-cdk-lib.aws_workspacesweb": {
|
|
3372
|
+
"targets": {
|
|
3373
|
+
"dotnet": {
|
|
3374
|
+
"package": "Amazon.CDK.AWS.WorkSpacesWeb"
|
|
3375
|
+
},
|
|
3376
|
+
"java": {
|
|
3377
|
+
"package": "services.workspacesweb"
|
|
3378
|
+
},
|
|
3379
|
+
"python": {
|
|
3380
|
+
"module": "aws_cdk.aws_workspacesweb"
|
|
3381
|
+
}
|
|
3382
|
+
}
|
|
3383
|
+
},
|
|
3293
3384
|
"aws-cdk-lib.aws_xray": {
|
|
3294
3385
|
"targets": {
|
|
3295
3386
|
"dotnet": {
|
|
@@ -3488,7 +3579,7 @@
|
|
|
3488
3579
|
},
|
|
3489
3580
|
"description": "CDK constructs for defining an interaction between an AWS Lambda Function and an Amazon Kinesis Data Stream.",
|
|
3490
3581
|
"homepage": "https://github.com/awslabs/aws-solutions-constructs.git",
|
|
3491
|
-
"jsiiVersion": "1.
|
|
3582
|
+
"jsiiVersion": "1.91.0 (build 1b1f239)",
|
|
3492
3583
|
"keywords": [
|
|
3493
3584
|
"aws",
|
|
3494
3585
|
"cdk",
|
|
@@ -3507,7 +3598,7 @@
|
|
|
3507
3598
|
},
|
|
3508
3599
|
"name": "@aws-solutions-constructs/aws-lambda-kinesisstreams",
|
|
3509
3600
|
"readme": {
|
|
3510
|
-
"markdown": "# aws-lambda-kinesisstreams module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\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|`aws_solutions_constructs.aws_lambda_kinesis_stream`|\n| Typescript|`@aws-solutions-constructs/aws-lambda-kinesisstreams`|\n| Java|`software.amazon.awsconstructs.services.lambdakinesisstreams`|\n\n## Overview\nThis AWS Solutions Construct deploys an AWS Lambda Function that can put records on an Amazon Kinesis Data Stream.\n\nHere is a minimal deployable pattern definition:\n\nTypescript\n``` typescript\nimport { Construct } from 'constructs';\nimport { Stack, StackProps } from 'aws-cdk-lib';\nimport { LambdaToKinesisStreamsProps } from '@aws-solutions-constructs/aws-lambda-kinesisstreams';\nimport * as lambda from 'aws-cdk-lib/aws-lambda';\n\nnew LambdaToKinesisStreams(this, 'LambdaToKinesisStreams', {\n lambdaFunctionProps: {\n runtime: lambda.Runtime.NODEJS_18_X,\n handler: 'index.handler',\n code: lambda.Code.fromAsset(`lambda`)\n }\n});\n```\n\nPython\n``` python\nfrom aws_solutions_constructs.aws_lambda_kinesis_stream import LambdaToKinesisStreams\nfrom aws_cdk import (\n aws_lambda as _lambda,\n aws_kinesis as kinesis,\n Stack\n)\nfrom constructs import Construct\n\nLambdaToKinesisStreams(self, 'LambdaToKinesisStreams',\n lambda_function_props=_lambda.FunctionProps(\n runtime=_lambda.Runtime.PYTHON_3_9,\n handler='index.handler',\n code=_lambda.Code.from_asset('lambda')\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.lambdakinesisstreams.*;\n\nnew LambdaToKinesisStreams(this, \"LambdaToKinesisStreams\", new LambdaToKinesisStreamsProps.Builder()\n .lambdaFunctionProps(new FunctionProps.Builder()\n .runtime(Runtime.NODEJS_18_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 a 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|existingStreamObj?|[`kinesis.Stream`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.Stream.html)|Existing instance of a Kinesis Data Stream, providing both this and `kinesisStreamProps` will cause an error.|\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 Data Stream.|\n|createCloudWatchAlarms|`boolean`|Whether to create recommended CloudWatch Alarms (defaults to true).|\n|existingVpc?|[`ec2.IVpc`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html)|An optional, existing VPC into which this pattern should be deployed. When deployed in a VPC, the Lambda function will use ENIs in the VPC to access network resources and an Interface Endpoint will be created in the VPC for Amazon Kinesis Streams. If an existing VPC is provided, the `deployVpc` property cannot be `true`. This uses `ec2.IVpc` to allow clients to supply VPCs that exist outside the stack using the [`ec2.Vpc.fromLookup()`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Vpc.html#static-fromwbrlookupscope-id-options) method.|\n|vpcProps?|[`ec2.VpcProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.VpcProps.html)|Optional user-provided properties to override the default properties for the new VPC. `enableDnsHostnames`, `enableDnsSupport`, `natGateways` and `subnetConfiguration` are set by the pattern, so any values for those properties supplied here will be
|
|
3601
|
+
"markdown": "# aws-lambda-kinesisstreams module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\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|`aws_solutions_constructs.aws_lambda_kinesis_stream`|\n| Typescript|`@aws-solutions-constructs/aws-lambda-kinesisstreams`|\n| Java|`software.amazon.awsconstructs.services.lambdakinesisstreams`|\n\n## Overview\nThis AWS Solutions Construct deploys an AWS Lambda Function that can put records on an Amazon Kinesis Data Stream.\n\nHere is a minimal deployable pattern definition:\n\nTypescript\n``` typescript\nimport { Construct } from 'constructs';\nimport { Stack, StackProps } from 'aws-cdk-lib';\nimport { LambdaToKinesisStreamsProps } from '@aws-solutions-constructs/aws-lambda-kinesisstreams';\nimport * as lambda from 'aws-cdk-lib/aws-lambda';\n\nnew LambdaToKinesisStreams(this, 'LambdaToKinesisStreams', {\n lambdaFunctionProps: {\n runtime: lambda.Runtime.NODEJS_18_X,\n handler: 'index.handler',\n code: lambda.Code.fromAsset(`lambda`)\n }\n});\n```\n\nPython\n``` python\nfrom aws_solutions_constructs.aws_lambda_kinesis_stream import LambdaToKinesisStreams\nfrom aws_cdk import (\n aws_lambda as _lambda,\n aws_kinesis as kinesis,\n Stack\n)\nfrom constructs import Construct\n\nLambdaToKinesisStreams(self, 'LambdaToKinesisStreams',\n lambda_function_props=_lambda.FunctionProps(\n runtime=_lambda.Runtime.PYTHON_3_9,\n handler='index.handler',\n code=_lambda.Code.from_asset('lambda')\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.lambdakinesisstreams.*;\n\nnew LambdaToKinesisStreams(this, \"LambdaToKinesisStreams\", new LambdaToKinesisStreamsProps.Builder()\n .lambdaFunctionProps(new FunctionProps.Builder()\n .runtime(Runtime.NODEJS_18_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 a 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|existingStreamObj?|[`kinesis.Stream`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kinesis.Stream.html)|Existing instance of a Kinesis Data Stream, providing both this and `kinesisStreamProps` will cause an error.|\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 Data Stream.|\n|createCloudWatchAlarms|`boolean`|Whether to create recommended CloudWatch Alarms (defaults to true).|\n|existingVpc?|[`ec2.IVpc`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html)|An optional, existing VPC into which this pattern should be deployed. When deployed in a VPC, the Lambda function will use ENIs in the VPC to access network resources and an Interface Endpoint will be created in the VPC for Amazon Kinesis Streams. If an existing VPC is provided, the `deployVpc` property cannot be `true`. This uses `ec2.IVpc` to allow clients to supply VPCs that exist outside the stack using the [`ec2.Vpc.fromLookup()`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Vpc.html#static-fromwbrlookupscope-id-options) method.|\n|vpcProps?|[`ec2.VpcProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.VpcProps.html)|Optional user-provided properties to override the default properties for the new VPC. `enableDnsHostnames`, `enableDnsSupport`, `natGateways` and `subnetConfiguration` are set by the pattern, so any values for those properties supplied here will be overridden. If `deployVpc` is not `true` then this property will be ignored.|\n|deployVpc?|`boolean`|Whether to create a new VPC based on `vpcProps` into which to deploy this pattern. Setting this to true will deploy the minimal, most private VPC to run the pattern:<ul><li> One isolated subnet in each Availability Zone used by the CDK program</li><li>`enableDnsHostnames` and `enableDnsSupport` will both be set to true</li></ul>If this property is `true` then `existingVpc` cannot be specified. Defaults to `false`.|\n|streamEnvironmentVariableName?|`string`|Optional Name to override the Lambda Function default environment variable name that holds the Kinesis Data Stream name value. Default: KINESIS_DATASTREAM_NAME |\n\n## Pattern Properties\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\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.|\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 Data Stream.|\n|cloudwatchAlarms?|[`cloudwatch.Alarm[]`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch.Alarm.html)|Returns the CloudWatch Alarms created to monitor the Kinesis Data Stream.|\n|vpc?|[`ec2.IVpc`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html)|Returns an interface to the VPC used by the pattern (if any). This may be a VPC created by the pattern or the VPC supplied to the pattern constructor.|\n\n## Default settings\n\nOut of the box implementation of the Construct without any overrides will set the following defaults:\n\n### AWS Lambda Function\n* Minimally-permissive IAM role for the Lambda Function to put records on the Kinesis Data Stream\n* Enable X-Ray Tracing\n* Sets an Environment Variable named KINESIS_DATASTREAM_NAME that holds the Kinesis Data Stream Name, which is a required property Kinesis Data Streams SDK when making calls to it\n\n### Amazon Kinesis Stream\n* Enable server-side encryption for the Kinesis Data Stream using AWS Managed CMK\n* Deploy best practices CloudWatch Alarms for the Kinesis Data Stream\n\n## Architecture\n\n\n***\n© Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n"
|
|
3511
3602
|
},
|
|
3512
3603
|
"repository": {
|
|
3513
3604
|
"directory": "source/patterns/@aws-solutions-constructs/aws-lambda-kinesisstreams",
|
|
@@ -3819,6 +3910,6 @@
|
|
|
3819
3910
|
"symbolId": "lib/index:LambdaToKinesisStreamsProps"
|
|
3820
3911
|
}
|
|
3821
3912
|
},
|
|
3822
|
-
"version": "2.
|
|
3823
|
-
"fingerprint": "
|
|
3913
|
+
"version": "2.46.0",
|
|
3914
|
+
"fingerprint": "7CXw3BlesWjaNDo5sMYpb9prLgxQX+57g7N4BJ4quiM="
|
|
3824
3915
|
}
|
package/README.md
CHANGED
|
@@ -88,7 +88,7 @@ new LambdaToKinesisStreams(this, "LambdaToKinesisStreams", new LambdaToKinesisSt
|
|
|
88
88
|
|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 Data Stream.|
|
|
89
89
|
|createCloudWatchAlarms|`boolean`|Whether to create recommended CloudWatch Alarms (defaults to true).|
|
|
90
90
|
|existingVpc?|[`ec2.IVpc`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html)|An optional, existing VPC into which this pattern should be deployed. When deployed in a VPC, the Lambda function will use ENIs in the VPC to access network resources and an Interface Endpoint will be created in the VPC for Amazon Kinesis Streams. If an existing VPC is provided, the `deployVpc` property cannot be `true`. This uses `ec2.IVpc` to allow clients to supply VPCs that exist outside the stack using the [`ec2.Vpc.fromLookup()`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Vpc.html#static-fromwbrlookupscope-id-options) method.|
|
|
91
|
-
|vpcProps?|[`ec2.VpcProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.VpcProps.html)|Optional user-provided properties to override the default properties for the new VPC. `enableDnsHostnames`, `enableDnsSupport`, `natGateways` and `subnetConfiguration` are set by the pattern, so any values for those properties supplied here will be
|
|
91
|
+
|vpcProps?|[`ec2.VpcProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.VpcProps.html)|Optional user-provided properties to override the default properties for the new VPC. `enableDnsHostnames`, `enableDnsSupport`, `natGateways` and `subnetConfiguration` are set by the pattern, so any values for those properties supplied here will be overridden. If `deployVpc` is not `true` then this property will be ignored.|
|
|
92
92
|
|deployVpc?|`boolean`|Whether to create a new VPC based on `vpcProps` into which to deploy this pattern. Setting this to true will deploy the minimal, most private VPC to run the pattern:<ul><li> One isolated subnet in each Availability Zone used by the CDK program</li><li>`enableDnsHostnames` and `enableDnsSupport` will both be set to true</li></ul>If this property is `true` then `existingVpc` cannot be specified. Defaults to `false`.|
|
|
93
93
|
|streamEnvironmentVariableName?|`string`|Optional Name to override the Lambda Function default environment variable name that holds the Kinesis Data Stream name value. Default: KINESIS_DATASTREAM_NAME |
|
|
94
94
|
|
package/lib/index.js
CHANGED
|
@@ -20,7 +20,9 @@ class LambdaToKinesisStreams extends constructs_1.Construct {
|
|
|
20
20
|
*/
|
|
21
21
|
constructor(scope, id, props) {
|
|
22
22
|
super(scope, id);
|
|
23
|
-
defaults.
|
|
23
|
+
defaults.CheckVpcProps(props);
|
|
24
|
+
defaults.CheckLambdaProps(props);
|
|
25
|
+
defaults.CheckKinesisStreamProps(props);
|
|
24
26
|
// Setup the VPC
|
|
25
27
|
if (props.deployVpc || props.existingVpc) {
|
|
26
28
|
this.vpc = defaults.buildVpc(scope, {
|
|
@@ -60,5 +62,5 @@ class LambdaToKinesisStreams extends constructs_1.Construct {
|
|
|
60
62
|
}
|
|
61
63
|
exports.LambdaToKinesisStreams = LambdaToKinesisStreams;
|
|
62
64
|
_a = JSII_RTTI_SYMBOL_1;
|
|
63
|
-
LambdaToKinesisStreams[_a] = { fqn: "@aws-solutions-constructs/aws-lambda-kinesisstreams.LambdaToKinesisStreams", version: "2.
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
LambdaToKinesisStreams[_a] = { fqn: "@aws-solutions-constructs/aws-lambda-kinesisstreams.LambdaToKinesisStreams", version: "2.46.0" };
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWdCQSwyREFBMkQ7QUFDM0Qsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQTREdkM7O0dBRUc7QUFDSCxNQUFhLHNCQUF1QixTQUFRLHNCQUFTO0lBTWpEOzs7Ozs7O09BT0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtDO1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLGdCQUFnQjtRQUNoQixJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUN4QyxJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO2dCQUNsQyxlQUFlLEVBQUUsUUFBUSxDQUFDLHVCQUF1QixFQUFFO2dCQUNuRCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDNUIsaUJBQWlCLEVBQUU7b0JBQ2pCLGtCQUFrQixFQUFFLElBQUk7b0JBQ3hCLGdCQUFnQixFQUFFLElBQUk7aUJBQ3ZCO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUNoRztRQUVELDRCQUE0QjtRQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUU7WUFDdkQsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtZQUMxQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzlDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNkLENBQUMsQ0FBQztRQUVILDJCQUEyQjtRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7WUFDckQsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtZQUMxQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO1NBQzdDLENBQUMsQ0FBQztRQUVILGtEQUFrRDtRQUNsRCxNQUFNLGlDQUFpQyxHQUFHLEtBQUssQ0FBQyw2QkFBNkIsSUFBSSx5QkFBeUIsQ0FBQztRQUMzRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxpQ0FBaUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXJHLHNFQUFzRTtRQUN0RSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWxFLDJHQUEyRztRQUMzRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQ3hFLGFBQWEsRUFDYixzQkFBc0IsQ0FDdkIsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDLHNCQUFzQixLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsc0JBQXNCLEVBQUU7WUFDOUUscURBQXFEO1lBQ3JELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkU7SUFDSCxDQUFDOztBQWpFTCx3REFrRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBraW5lc2lzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1raW5lc2lzJztcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGNsb3Vkd2F0Y2ggZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgZm9yIHRoZSBMYW1iZGFUb0tpbmVzaXNTdHJlYW1zIGNsYXNzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYVRvS2luZXNpc1N0cmVhbXNQcm9wcyB7XG4gICAgLyoqXG4gICAgICogRXhpc3RpbmcgaW5zdGFuY2Ugb2YgTGFtYmRhIEZ1bmN0aW9uIG9iamVjdCwgcHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgYGxhbWJkYUZ1bmN0aW9uUHJvcHNgIHdpbGwgY2F1c2UgYW4gZXJyb3IuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICAgKi9cbiAgICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbjtcbiAgICAvKipcbiAgICAgKiBVc2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgTGFtYmRhIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHByb3BzIGFyZSB1c2VkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uUHJvcHM/OiBsYW1iZGEuRnVuY3Rpb25Qcm9wcztcbiAgICAvKipcbiAgICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBLaW5lc2lzIFN0cmVhbSwgcHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgYGtpbmVzaXNTdHJlYW1Qcm9wc2Agd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGV4aXN0aW5nU3RyZWFtT2JqPzoga2luZXNpcy5TdHJlYW07XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWwgdXNlci1wcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIEtpbmVzaXMgc3RyZWFtLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHByb3BzIGFyZSB1c2VkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGtpbmVzaXNTdHJlYW1Qcm9wcz86IGtpbmVzaXMuU3RyZWFtUHJvcHM7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBjcmVhdGUgcmVjb21tZW5kZWQgQ2xvdWRXYXRjaCBhbGFybXMgZm9yIHRoZSBLaW5lc2lzIFN0cmVhbVxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBBbGFybXMgYXJlIGNyZWF0ZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBbiBleGlzdGluZyBWUEMgZm9yIHRoZSBjb25zdHJ1Y3QgdG8gdXNlIChjb25zdHJ1Y3Qgd2lsbCBOT1QgY3JlYXRlIGEgbmV3IFZQQyBpbiB0aGlzIGNhc2UpXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhpc3RpbmdWcGM/OiBlYzIuSVZwYztcbiAgICAvKipcbiAgICAgKiAgUHJvcGVydGllcyB0byBvdmVycmlkZSBkZWZhdWx0IHByb3BlcnRpZXMgaWYgZGVwbG95VnBjIGlzIHRydWVcbiAgICAgKi9cbiAgICByZWFkb25seSB2cGNQcm9wcz86IGVjMi5WcGNQcm9wcztcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGRlcGxveSBhIG5ldyBWUENcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICAgKi9cbiAgICByZWFkb25seSBkZXBsb3lWcGM/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsIE5hbWUgdG8gb3ZlcnJpZGUgdGhlIExhbWJkYSBGdW5jdGlvbiBkZWZhdWx0IGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWUgdGhhdCBob2xkcyB0aGUgS2luZXNpcyBEYXRhIFN0cmVhbSBuYW1lIHZhbHVlXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIEtJTkVTSVNfREFUQVNUUkVBTV9OQU1FXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3RyZWFtRW52aXJvbm1lbnRWYXJpYWJsZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgVGhlIExhbWJkYVRvS2luZXNpc1N0cmVhbSBjbGFzcy5cbiAqL1xuZXhwb3J0IGNsYXNzIExhbWJkYVRvS2luZXNpc1N0cmVhbXMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIHB1YmxpYyByZWFkb25seSB2cGM/OiBlYzIuSVZwYztcbiAgICBwdWJsaWMgcmVhZG9ubHkga2luZXNpc1N0cmVhbToga2luZXNpcy5TdHJlYW07XG4gICAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG4gICAgcHVibGljIHJlYWRvbmx5IGNsb3Vkd2F0Y2hBbGFybXM/OiBjbG91ZHdhdGNoLkFsYXJtW107XG5cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBLaW5lc2lzU3RyZWFtc1RvTGFtYmRhIGNsYXNzLlxuICAgICAqIEBwYXJhbSB7Y2RrLkFwcH0gc2NvcGUgLSByZXByZXNlbnRzIHRoZSBzY29wZSBmb3IgYWxsIHRoZSByZXNvdXJjZXMuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gdGhpcyBpcyBhIGEgc2NvcGUtdW5pcXVlIGlkLlxuICAgICAqIEBwYXJhbSB7TGFtYmRhVG9LaW5lc2lzU3RyZWFtc1Byb3BzfSBwcm9wcyAtIHVzZXIgcHJvdmlkZWQgcHJvcHMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAgICAgKiBAc2luY2UgMC44LjBcbiAgICAgKiBAYWNjZXNzIHB1YmxpY1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBMYW1iZGFUb0tpbmVzaXNTdHJlYW1zUHJvcHMpIHtcbiAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgICBkZWZhdWx0cy5DaGVja1ZwY1Byb3BzKHByb3BzKTtcbiAgICAgIGRlZmF1bHRzLkNoZWNrTGFtYmRhUHJvcHMocHJvcHMpO1xuICAgICAgZGVmYXVsdHMuQ2hlY2tLaW5lc2lzU3RyZWFtUHJvcHMocHJvcHMpO1xuXG4gICAgICAvLyBTZXR1cCB0aGUgVlBDXG4gICAgICBpZiAocHJvcHMuZGVwbG95VnBjIHx8IHByb3BzLmV4aXN0aW5nVnBjKSB7XG4gICAgICAgIHRoaXMudnBjID0gZGVmYXVsdHMuYnVpbGRWcGMoc2NvcGUsIHtcbiAgICAgICAgICBkZWZhdWx0VnBjUHJvcHM6IGRlZmF1bHRzLkRlZmF1bHRJc29sYXRlZFZwY1Byb3BzKCksXG4gICAgICAgICAgZXhpc3RpbmdWcGM6IHByb3BzLmV4aXN0aW5nVnBjLFxuICAgICAgICAgIHVzZXJWcGNQcm9wczogcHJvcHMudnBjUHJvcHMsXG4gICAgICAgICAgY29uc3RydWN0VnBjUHJvcHM6IHtcbiAgICAgICAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdHJ1ZSxcbiAgICAgICAgICAgIGVuYWJsZURuc1N1cHBvcnQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGVmYXVsdHMuQWRkQXdzU2VydmljZUVuZHBvaW50KHNjb3BlLCB0aGlzLnZwYywgZGVmYXVsdHMuU2VydmljZUVuZHBvaW50VHlwZXMuS0lORVNJU19TVFJFQU1TKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2V0dXAgdGhlIExhbWJkYSBmdW5jdGlvblxuICAgICAgdGhpcy5sYW1iZGFGdW5jdGlvbiA9IGRlZmF1bHRzLmJ1aWxkTGFtYmRhRnVuY3Rpb24odGhpcywge1xuICAgICAgICBleGlzdGluZ0xhbWJkYU9iajogcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmosXG4gICAgICAgIGxhbWJkYUZ1bmN0aW9uUHJvcHM6IHByb3BzLmxhbWJkYUZ1bmN0aW9uUHJvcHMsXG4gICAgICAgIHZwYzogdGhpcy52cGNcbiAgICAgIH0pO1xuXG4gICAgICAvLyBTZXR1cCB0aGUgS2luZXNpcyBTdHJlYW1cbiAgICAgIHRoaXMua2luZXNpc1N0cmVhbSA9IGRlZmF1bHRzLmJ1aWxkS2luZXNpc1N0cmVhbSh0aGlzLCB7XG4gICAgICAgIGV4aXN0aW5nU3RyZWFtT2JqOiBwcm9wcy5leGlzdGluZ1N0cmVhbU9iaixcbiAgICAgICAga2luZXNpc1N0cmVhbVByb3BzOiBwcm9wcy5raW5lc2lzU3RyZWFtUHJvcHNcbiAgICAgIH0pO1xuXG4gICAgICAvLyBDb25maWd1cmUgTGFtYmRhIEZ1bmN0aW9uIGVudmlyb25tZW50IHZhcmlhYmxlc1xuICAgICAgY29uc3Qgc3RyZWFtTmFtZUVudmlyb25tZW50VmFyaWFibGVOYW1lID0gcHJvcHMuc3RyZWFtRW52aXJvbm1lbnRWYXJpYWJsZU5hbWUgfHwgJ0tJTkVTSVNfREFUQVNUUkVBTV9OQU1FJztcbiAgICAgIHRoaXMubGFtYmRhRnVuY3Rpb24uYWRkRW52aXJvbm1lbnQoc3RyZWFtTmFtZUVudmlyb25tZW50VmFyaWFibGVOYW1lLCB0aGlzLmtpbmVzaXNTdHJlYW0uc3RyZWFtTmFtZSk7XG5cbiAgICAgIC8vIEdyYW50IHRoZSBMYW1iZGEgRnVuY3Rpb24gcGVybWlzc2lvbiB0byB3cml0ZSB0byB0aGUgS2luZXNpcyBTdHJlYW1cbiAgICAgIHRoaXMua2luZXNpc1N0cmVhbS5ncmFudFdyaXRlKHRoaXMubGFtYmRhRnVuY3Rpb24uZ3JhbnRQcmluY2lwYWwpO1xuXG4gICAgICAvLyBHcmFudCB0aGUgTGFtYmRhIEZ1bmN0aW9uIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBzdHJlYW0ncyBlbmNyeXB0aW9uIGtleSBzbyBpdCBjYW4gcHVibGlzaCBtZXNzYWdlcyB0byBpdFxuICAgICAgdGhpcy5raW5lc2lzU3RyZWFtLmVuY3J5cHRpb25LZXk/LmdyYW50KHRoaXMubGFtYmRhRnVuY3Rpb24uZ3JhbnRQcmluY2lwYWwsXG4gICAgICAgICdrbXM6RGVjcnlwdCcsXG4gICAgICAgICdrbXM6R2VuZXJhdGVEYXRhS2V5KicsXG4gICAgICApO1xuXG4gICAgICBpZiAocHJvcHMuY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcyA9PT0gdW5kZWZpbmVkIHx8IHByb3BzLmNyZWF0ZUNsb3VkV2F0Y2hBbGFybXMpIHtcbiAgICAgICAgLy8gRGVwbG95IGJlc3QgcHJhY3RpY2VzIENXIEFsYXJtcyBmb3IgS2luZXNpcyBTdHJlYW1cbiAgICAgICAgdGhpcy5jbG91ZHdhdGNoQWxhcm1zID0gZGVmYXVsdHMuYnVpbGRLaW5lc2lzU3RyZWFtQ1dBbGFybXModGhpcyk7XG4gICAgICB9XG4gICAgfVxufSJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-solutions-constructs/aws-lambda-kinesisstreams",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.46.0",
|
|
4
4
|
"description": "CDK constructs for defining an interaction between an AWS Lambda Function and an Amazon Kinesis Data Stream.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -53,12 +53,12 @@
|
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@aws-solutions-constructs/core": "2.
|
|
56
|
+
"@aws-solutions-constructs/core": "2.46.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@types/jest": "^27.4.0",
|
|
60
60
|
"@types/node": "^10.3.0",
|
|
61
|
-
"aws-cdk-lib": "2.
|
|
61
|
+
"aws-cdk-lib": "2.105.0",
|
|
62
62
|
"constructs": "^10.0.0"
|
|
63
63
|
},
|
|
64
64
|
"jest": {
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
]
|
|
77
77
|
},
|
|
78
78
|
"peerDependencies": {
|
|
79
|
-
"@aws-solutions-constructs/core": "2.
|
|
80
|
-
"aws-cdk-lib": "^2.
|
|
79
|
+
"@aws-solutions-constructs/core": "2.46.0",
|
|
80
|
+
"aws-cdk-lib": "^2.105.0",
|
|
81
81
|
"constructs": "^10.0.0"
|
|
82
82
|
},
|
|
83
83
|
"keywords": [
|
package/test/{integ.existingLambda.expected.json → integ.lamkin-existingLambda.expected.json}
RENAMED
|
@@ -112,12 +112,6 @@
|
|
|
112
112
|
},
|
|
113
113
|
"S3Key": "c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf.zip"
|
|
114
114
|
},
|
|
115
|
-
"Role": {
|
|
116
|
-
"Fn::GetAtt": [
|
|
117
|
-
"LambdaFunctionServiceRole0C4CDE0B",
|
|
118
|
-
"Arn"
|
|
119
|
-
]
|
|
120
|
-
},
|
|
121
115
|
"Environment": {
|
|
122
116
|
"Variables": {
|
|
123
117
|
"KINESIS_DATASTREAM_NAME": {
|
|
@@ -126,6 +120,12 @@
|
|
|
126
120
|
}
|
|
127
121
|
},
|
|
128
122
|
"Handler": "index.handler",
|
|
123
|
+
"Role": {
|
|
124
|
+
"Fn::GetAtt": [
|
|
125
|
+
"LambdaFunctionServiceRole0C4CDE0B",
|
|
126
|
+
"Arn"
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
129
|
"Runtime": "nodejs18.x",
|
|
130
130
|
"TracingConfig": {
|
|
131
131
|
"Mode": "Active"
|
|
@@ -168,9 +168,9 @@
|
|
|
168
168
|
"testlambdakinesisstreamsKinesisStreamGetRecordsIteratorAgeAlarmC4A0FF00": {
|
|
169
169
|
"Type": "AWS::CloudWatch::Alarm",
|
|
170
170
|
"Properties": {
|
|
171
|
+
"AlarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.",
|
|
171
172
|
"ComparisonOperator": "GreaterThanOrEqualToThreshold",
|
|
172
173
|
"EvaluationPeriods": 1,
|
|
173
|
-
"AlarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.",
|
|
174
174
|
"MetricName": "GetRecords.IteratorAgeMilliseconds",
|
|
175
175
|
"Namespace": "AWS/Kinesis",
|
|
176
176
|
"Period": 300,
|
|
@@ -181,9 +181,9 @@
|
|
|
181
181
|
"testlambdakinesisstreamsKinesisStreamReadProvisionedThroughputExceededAlarm9732E188": {
|
|
182
182
|
"Type": "AWS::CloudWatch::Alarm",
|
|
183
183
|
"Properties": {
|
|
184
|
+
"AlarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.",
|
|
184
185
|
"ComparisonOperator": "GreaterThanThreshold",
|
|
185
186
|
"EvaluationPeriods": 1,
|
|
186
|
-
"AlarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.",
|
|
187
187
|
"MetricName": "ReadProvisionedThroughputExceeded",
|
|
188
188
|
"Namespace": "AWS/Kinesis",
|
|
189
189
|
"Period": 300,
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
+
* with the License. A copy of the License is located at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
+
* and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
/// !cdk-integ *
|
|
16
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
+
const lib_1 = require("../lib");
|
|
18
|
+
const core_1 = require("@aws-solutions-constructs/core");
|
|
19
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
20
|
+
const app = new aws_cdk_lib_1.App();
|
|
21
|
+
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
22
|
+
const existingLambdaObj = core_1.deployLambdaFunction(stack, {
|
|
23
|
+
code: lambda.Code.fromAsset(`${__dirname}/lambda`),
|
|
24
|
+
runtime: lambda.Runtime.NODEJS_18_X,
|
|
25
|
+
handler: 'index.handler',
|
|
26
|
+
});
|
|
27
|
+
new lib_1.LambdaToKinesisStreams(stack, 'test-lambda-kinesisstreams', {
|
|
28
|
+
existingLambdaObj
|
|
29
|
+
});
|
|
30
|
+
app.synth();
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcubGFta2luLWV4aXN0aW5nTGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWcubGFta2luLWV4aXN0aW5nTGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxnQkFBZ0I7QUFDaEIsNkNBQXlDO0FBQ3pDLGdDQUFnRDtBQUNoRCx5REFBOEY7QUFDOUYsaURBQWlEO0FBRWpELE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsNkJBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUVqRSxNQUFNLGlCQUFpQixHQUFHLDJCQUFvQixDQUFDLEtBQUssRUFBRTtJQUNwRCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLFNBQVMsQ0FBQztJQUNsRCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO0lBQ25DLE9BQU8sRUFBRSxlQUFlO0NBQ3pCLENBQUMsQ0FBQztBQUVILElBQUksNEJBQXNCLENBQUMsS0FBSyxFQUFFLDRCQUE0QixFQUFFO0lBQzlELGlCQUFpQjtDQUNsQixDQUFDLENBQUM7QUFFSCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLy8gIWNkay1pbnRlZyAqXG5pbXBvcnQgeyBBcHAsIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBMYW1iZGFUb0tpbmVzaXNTdHJlYW1zIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0IHsgZGVwbG95TGFtYmRhRnVuY3Rpb24sIGdlbmVyYXRlSW50ZWdTdGFja05hbWUgfSBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoX19maWxlbmFtZSkpO1xuXG5jb25zdCBleGlzdGluZ0xhbWJkYU9iaiA9IGRlcGxveUxhbWJkYUZ1bmN0aW9uKHN0YWNrLCB7XG4gIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChgJHtfX2Rpcm5hbWV9L2xhbWJkYWApLFxuICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMThfWCxcbiAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxufSk7XG5cbm5ldyBMYW1iZGFUb0tpbmVzaXNTdHJlYW1zKHN0YWNrLCAndGVzdC1sYW1iZGEta2luZXNpc3N0cmVhbXMnLCB7XG4gIGV4aXN0aW5nTGFtYmRhT2JqXG59KTtcblxuYXBwLnN5bnRoKCk7XG4iXX0=
|
package/test/{integ.existingStream.expected.json → integ.lamkin-existingStream.expected.json}
RENAMED
|
@@ -125,12 +125,6 @@
|
|
|
125
125
|
},
|
|
126
126
|
"S3Key": "c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf.zip"
|
|
127
127
|
},
|
|
128
|
-
"Role": {
|
|
129
|
-
"Fn::GetAtt": [
|
|
130
|
-
"testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3",
|
|
131
|
-
"Arn"
|
|
132
|
-
]
|
|
133
|
-
},
|
|
134
128
|
"Environment": {
|
|
135
129
|
"Variables": {
|
|
136
130
|
"KINESIS_DATASTREAM_NAME": {
|
|
@@ -139,6 +133,12 @@
|
|
|
139
133
|
}
|
|
140
134
|
},
|
|
141
135
|
"Handler": "index.handler",
|
|
136
|
+
"Role": {
|
|
137
|
+
"Fn::GetAtt": [
|
|
138
|
+
"testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3",
|
|
139
|
+
"Arn"
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
142
|
"Runtime": "nodejs18.x",
|
|
143
143
|
"TracingConfig": {
|
|
144
144
|
"Mode": "Active"
|
|
@@ -170,9 +170,9 @@
|
|
|
170
170
|
"testlambdakinesisstreamsKinesisStreamGetRecordsIteratorAgeAlarmC4A0FF00": {
|
|
171
171
|
"Type": "AWS::CloudWatch::Alarm",
|
|
172
172
|
"Properties": {
|
|
173
|
+
"AlarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.",
|
|
173
174
|
"ComparisonOperator": "GreaterThanOrEqualToThreshold",
|
|
174
175
|
"EvaluationPeriods": 1,
|
|
175
|
-
"AlarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.",
|
|
176
176
|
"MetricName": "GetRecords.IteratorAgeMilliseconds",
|
|
177
177
|
"Namespace": "AWS/Kinesis",
|
|
178
178
|
"Period": 300,
|
|
@@ -183,9 +183,9 @@
|
|
|
183
183
|
"testlambdakinesisstreamsKinesisStreamReadProvisionedThroughputExceededAlarm9732E188": {
|
|
184
184
|
"Type": "AWS::CloudWatch::Alarm",
|
|
185
185
|
"Properties": {
|
|
186
|
+
"AlarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.",
|
|
186
187
|
"ComparisonOperator": "GreaterThanThreshold",
|
|
187
188
|
"EvaluationPeriods": 1,
|
|
188
|
-
"AlarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.",
|
|
189
189
|
"MetricName": "ReadProvisionedThroughputExceeded",
|
|
190
190
|
"Namespace": "AWS/Kinesis",
|
|
191
191
|
"Period": 300,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
+
* with the License. A copy of the License is located at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
+
* and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
/// !cdk-integ *
|
|
16
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
+
const lib_1 = require("../lib");
|
|
18
|
+
const core_1 = require("@aws-solutions-constructs/core");
|
|
19
|
+
const kinesis = require("aws-cdk-lib/aws-kinesis");
|
|
20
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
21
|
+
const aws_kinesis_1 = require("aws-cdk-lib/aws-kinesis");
|
|
22
|
+
const app = new aws_cdk_lib_1.App();
|
|
23
|
+
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
24
|
+
const existingStreamObj = new kinesis.Stream(stack, 'test-stream', {
|
|
25
|
+
streamMode: aws_kinesis_1.StreamMode.ON_DEMAND,
|
|
26
|
+
encryption: aws_kinesis_1.StreamEncryption.MANAGED
|
|
27
|
+
});
|
|
28
|
+
new lib_1.LambdaToKinesisStreams(stack, 'test-lambda-kinesisstreams', {
|
|
29
|
+
lambdaFunctionProps: {
|
|
30
|
+
code: lambda.Code.fromAsset(`${__dirname}/lambda`),
|
|
31
|
+
runtime: lambda.Runtime.NODEJS_18_X,
|
|
32
|
+
handler: 'index.handler'
|
|
33
|
+
},
|
|
34
|
+
existingStreamObj
|
|
35
|
+
});
|
|
36
|
+
app.synth();
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcubGFta2luLWV4aXN0aW5nU3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWcubGFta2luLWV4aXN0aW5nU3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxnQkFBZ0I7QUFDaEIsNkNBQXlDO0FBQ3pDLGdDQUFnRDtBQUNoRCx5REFBd0U7QUFDeEUsbURBQW1EO0FBQ25ELGlEQUFpRDtBQUNqRCx5REFBdUU7QUFFdkUsTUFBTSxHQUFHLEdBQUcsSUFBSSxpQkFBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBSyxDQUFDLEdBQUcsRUFBRSw2QkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBRWpFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUU7SUFDakUsVUFBVSxFQUFFLHdCQUFVLENBQUMsU0FBUztJQUNoQyxVQUFVLEVBQUUsOEJBQWdCLENBQUMsT0FBTztDQUNyQyxDQUFDLENBQUM7QUFFSCxJQUFJLDRCQUFzQixDQUFDLEtBQUssRUFBRSw0QkFBNEIsRUFBRTtJQUM5RCxtQkFBbUIsRUFBRTtRQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLFNBQVMsQ0FBQztRQUNsRCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1FBQ25DLE9BQU8sRUFBRSxlQUFlO0tBQ3pCO0lBQ0QsaUJBQWlCO0NBQ2xCLENBQUMsQ0FBQztBQUVILEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vLyAhY2RrLWludGVnICpcbmltcG9ydCB7IEFwcCwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IExhbWJkYVRvS2luZXNpc1N0cmVhbXMgfSBmcm9tIFwiLi4vbGliXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZUludGVnU3RhY2tOYW1lIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbmltcG9ydCAqIGFzIGtpbmVzaXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWtpbmVzaXMnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgU3RyZWFtRW5jcnlwdGlvbiwgU3RyZWFtTW9kZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mta2luZXNpc1wiO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoX19maWxlbmFtZSkpO1xuXG5jb25zdCBleGlzdGluZ1N0cmVhbU9iaiA9IG5ldyBraW5lc2lzLlN0cmVhbShzdGFjaywgJ3Rlc3Qtc3RyZWFtJywge1xuICBzdHJlYW1Nb2RlOiBTdHJlYW1Nb2RlLk9OX0RFTUFORCxcbiAgZW5jcnlwdGlvbjogU3RyZWFtRW5jcnlwdGlvbi5NQU5BR0VEXG59KTtcblxubmV3IExhbWJkYVRvS2luZXNpc1N0cmVhbXMoc3RhY2ssICd0ZXN0LWxhbWJkYS1raW5lc2lzc3RyZWFtcycsIHtcbiAgbGFtYmRhRnVuY3Rpb25Qcm9wczoge1xuICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChgJHtfX2Rpcm5hbWV9L2xhbWJkYWApLFxuICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xOF9YLFxuICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJ1xuICB9LFxuICBleGlzdGluZ1N0cmVhbU9ialxufSk7XG5cbmFwcC5zeW50aCgpO1xuIl19
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"testkey784D0285": {
|
|
4
4
|
"Type": "AWS::KMS::Key",
|
|
5
5
|
"Properties": {
|
|
6
|
+
"EnableKeyRotation": true,
|
|
6
7
|
"KeyPolicy": {
|
|
7
8
|
"Statement": [
|
|
8
9
|
{
|
|
@@ -30,8 +31,7 @@
|
|
|
30
31
|
}
|
|
31
32
|
],
|
|
32
33
|
"Version": "2012-10-17"
|
|
33
|
-
}
|
|
34
|
-
"EnableKeyRotation": true
|
|
34
|
+
}
|
|
35
35
|
},
|
|
36
36
|
"UpdateReplacePolicy": "Retain",
|
|
37
37
|
"DeletionPolicy": "Retain"
|
|
@@ -191,12 +191,6 @@
|
|
|
191
191
|
},
|
|
192
192
|
"S3Key": "c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf.zip"
|
|
193
193
|
},
|
|
194
|
-
"Role": {
|
|
195
|
-
"Fn::GetAtt": [
|
|
196
|
-
"testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3",
|
|
197
|
-
"Arn"
|
|
198
|
-
]
|
|
199
|
-
},
|
|
200
194
|
"Environment": {
|
|
201
195
|
"Variables": {
|
|
202
196
|
"KINESIS_DATASTREAM_NAME": {
|
|
@@ -205,6 +199,12 @@
|
|
|
205
199
|
}
|
|
206
200
|
},
|
|
207
201
|
"Handler": "index.handler",
|
|
202
|
+
"Role": {
|
|
203
|
+
"Fn::GetAtt": [
|
|
204
|
+
"testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3",
|
|
205
|
+
"Arn"
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
208
|
"Runtime": "nodejs18.x",
|
|
209
209
|
"TracingConfig": {
|
|
210
210
|
"Mode": "Active"
|
|
@@ -236,9 +236,9 @@
|
|
|
236
236
|
"testlambdakinesisstreamsKinesisStreamGetRecordsIteratorAgeAlarmC4A0FF00": {
|
|
237
237
|
"Type": "AWS::CloudWatch::Alarm",
|
|
238
238
|
"Properties": {
|
|
239
|
+
"AlarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.",
|
|
239
240
|
"ComparisonOperator": "GreaterThanOrEqualToThreshold",
|
|
240
241
|
"EvaluationPeriods": 1,
|
|
241
|
-
"AlarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.",
|
|
242
242
|
"MetricName": "GetRecords.IteratorAgeMilliseconds",
|
|
243
243
|
"Namespace": "AWS/Kinesis",
|
|
244
244
|
"Period": 300,
|
|
@@ -249,9 +249,9 @@
|
|
|
249
249
|
"testlambdakinesisstreamsKinesisStreamReadProvisionedThroughputExceededAlarm9732E188": {
|
|
250
250
|
"Type": "AWS::CloudWatch::Alarm",
|
|
251
251
|
"Properties": {
|
|
252
|
+
"AlarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.",
|
|
252
253
|
"ComparisonOperator": "GreaterThanThreshold",
|
|
253
254
|
"EvaluationPeriods": 1,
|
|
254
|
-
"AlarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.",
|
|
255
255
|
"MetricName": "ReadProvisionedThroughputExceeded",
|
|
256
256
|
"Namespace": "AWS/Kinesis",
|
|
257
257
|
"Period": 300,
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
+
* with the License. A copy of the License is located at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
+
* and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
/// !cdk-integ *
|
|
16
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
+
const lib_1 = require("../lib");
|
|
18
|
+
const core_1 = require("@aws-solutions-constructs/core");
|
|
19
|
+
const kinesis = require("aws-cdk-lib/aws-kinesis");
|
|
20
|
+
const kms = require("aws-cdk-lib/aws-kms");
|
|
21
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
22
|
+
const app = new aws_cdk_lib_1.App();
|
|
23
|
+
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
24
|
+
const encryptionKey = new kms.Key(stack, 'test-key', {
|
|
25
|
+
enableKeyRotation: true
|
|
26
|
+
});
|
|
27
|
+
const existingStreamObj = new kinesis.Stream(stack, 'test-stream', {
|
|
28
|
+
encryptionKey
|
|
29
|
+
});
|
|
30
|
+
new lib_1.LambdaToKinesisStreams(stack, 'test-lambda-kinesisstreams', {
|
|
31
|
+
lambdaFunctionProps: {
|
|
32
|
+
code: lambda.Code.fromAsset(`${__dirname}/lambda`),
|
|
33
|
+
runtime: lambda.Runtime.NODEJS_18_X,
|
|
34
|
+
handler: 'index.handler'
|
|
35
|
+
},
|
|
36
|
+
existingStreamObj
|
|
37
|
+
});
|
|
38
|
+
app.synth();
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcubGFta2luLWV4aXN0aW5nU3RyZWFtV2l0aENtay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLmxhbWtpbi1leGlzdGluZ1N0cmVhbVdpdGhDbWsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILGdCQUFnQjtBQUNoQiw2Q0FBeUM7QUFDekMsZ0NBQWdEO0FBQ2hELHlEQUF3RTtBQUN4RSxtREFBbUQ7QUFDbkQsMkNBQTJDO0FBQzNDLGlEQUFpRDtBQUVqRCxNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLDZCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFFakUsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7SUFDbkQsaUJBQWlCLEVBQUUsSUFBSTtDQUN4QixDQUFDLENBQUM7QUFFSCxNQUFNLGlCQUFpQixHQUFHLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFO0lBQ2pFLGFBQWE7Q0FDZCxDQUFDLENBQUM7QUFFSCxJQUFJLDRCQUFzQixDQUFDLEtBQUssRUFBRSw0QkFBNEIsRUFBRTtJQUM5RCxtQkFBbUIsRUFBRTtRQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLFNBQVMsQ0FBQztRQUNsRCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1FBQ25DLE9BQU8sRUFBRSxlQUFlO0tBQ3pCO0lBQ0QsaUJBQWlCO0NBQ2xCLENBQUMsQ0FBQztBQUVILEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vLyAhY2RrLWludGVnICpcbmltcG9ydCB7IEFwcCwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IExhbWJkYVRvS2luZXNpc1N0cmVhbXMgfSBmcm9tIFwiLi4vbGliXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZUludGVnU3RhY2tOYW1lIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbmltcG9ydCAqIGFzIGtpbmVzaXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWtpbmVzaXMnO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoX19maWxlbmFtZSkpO1xuXG5jb25zdCBlbmNyeXB0aW9uS2V5ID0gbmV3IGttcy5LZXkoc3RhY2ssICd0ZXN0LWtleScsIHtcbiAgZW5hYmxlS2V5Um90YXRpb246IHRydWVcbn0pO1xuXG5jb25zdCBleGlzdGluZ1N0cmVhbU9iaiA9IG5ldyBraW5lc2lzLlN0cmVhbShzdGFjaywgJ3Rlc3Qtc3RyZWFtJywge1xuICBlbmNyeXB0aW9uS2V5XG59KTtcblxubmV3IExhbWJkYVRvS2luZXNpc1N0cmVhbXMoc3RhY2ssICd0ZXN0LWxhbWJkYS1raW5lc2lzc3RyZWFtcycsIHtcbiAgbGFtYmRhRnVuY3Rpb25Qcm9wczoge1xuICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChgJHtfX2Rpcm5hbWV9L2xhbWJkYWApLFxuICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xOF9YLFxuICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJ1xuICB9LFxuICBleGlzdGluZ1N0cmVhbU9ialxufSk7XG5cbmFwcC5zeW50aCgpO1xuIl19
|