@aws-solutions-constructs/aws-lambda-kinesisstreams 2.50.0 → 2.52.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.
Files changed (99) hide show
  1. package/.eslintignore +2 -0
  2. package/.jsii +50 -5
  3. package/integ.config.json +7 -0
  4. package/lib/index.js +1 -1
  5. package/package.json +12 -11
  6. package/test/integ.lamkin-existingLambda.js +5 -2
  7. package/test/integ.lamkin-existingLambda.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  8. package/test/integ.lamkin-existingLambda.js.snapshot/cdk.out +1 -0
  9. package/test/integ.lamkin-existingLambda.js.snapshot/integ.json +12 -0
  10. package/test/integ.lamkin-existingLambda.js.snapshot/lamkin-existingLambda.assets.json +32 -0
  11. package/test/integ.lamkin-existingLambda.js.snapshot/lamkin-existingLambda.template.json +229 -0
  12. package/test/integ.lamkin-existingLambda.js.snapshot/lamkinexistingLambdaIntegDefaultTestDeployAssertD62E9419.assets.json +19 -0
  13. package/test/integ.lamkin-existingLambda.js.snapshot/lamkinexistingLambdaIntegDefaultTestDeployAssertD62E9419.template.json +36 -0
  14. package/test/integ.lamkin-existingLambda.js.snapshot/manifest.json +143 -0
  15. package/test/integ.lamkin-existingLambda.js.snapshot/tree.json +412 -0
  16. package/test/integ.lamkin-existingStream.js +5 -2
  17. package/test/integ.lamkin-existingStream.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  18. package/test/integ.lamkin-existingStream.js.snapshot/cdk.out +1 -0
  19. package/test/integ.lamkin-existingStream.js.snapshot/integ.json +12 -0
  20. package/test/integ.lamkin-existingStream.js.snapshot/lamkin-existingStream.assets.json +32 -0
  21. package/test/integ.lamkin-existingStream.js.snapshot/lamkin-existingStream.template.json +231 -0
  22. package/test/integ.lamkin-existingStream.js.snapshot/lamkinexistingStreamIntegDefaultTestDeployAssert2681B9A2.assets.json +19 -0
  23. package/test/integ.lamkin-existingStream.js.snapshot/lamkinexistingStreamIntegDefaultTestDeployAssert2681B9A2.template.json +36 -0
  24. package/test/integ.lamkin-existingStream.js.snapshot/manifest.json +143 -0
  25. package/test/integ.lamkin-existingStream.js.snapshot/tree.json +414 -0
  26. package/test/integ.lamkin-existingStreamWithCmk.js +5 -2
  27. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  28. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/cdk.out +1 -0
  29. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/integ.json +12 -0
  30. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/lamkin-existingStreamWithCmk.assets.json +32 -0
  31. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/lamkin-existingStreamWithCmk.template.json +285 -0
  32. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/lamkinexistingStreamWithCmkIntegDefaultTestDeployAssert6EDF4045.assets.json +19 -0
  33. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/lamkinexistingStreamWithCmkIntegDefaultTestDeployAssert6EDF4045.template.json +36 -0
  34. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/manifest.json +149 -0
  35. package/test/integ.lamkin-existingStreamWithCmk.js.snapshot/tree.json +484 -0
  36. package/test/integ.lamkin-existingVpc.js +6 -2
  37. package/test/integ.lamkin-existingVpc.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  38. package/test/integ.lamkin-existingVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js +1 -0
  39. package/test/integ.lamkin-existingVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js +1 -0
  40. package/test/integ.lamkin-existingVpc.js.snapshot/cdk.out +1 -0
  41. package/test/integ.lamkin-existingVpc.js.snapshot/integ.json +12 -0
  42. package/test/integ.lamkin-existingVpc.js.snapshot/lamkin-existingVpc.assets.json +45 -0
  43. package/test/integ.lamkin-existingVpc.js.snapshot/lamkin-existingVpc.template.json +1040 -0
  44. package/test/integ.lamkin-existingVpc.js.snapshot/lamkinexistingVpcIntegDefaultTestDeployAssertB97E47BA.assets.json +19 -0
  45. package/test/integ.lamkin-existingVpc.js.snapshot/lamkinexistingVpcIntegDefaultTestDeployAssertB97E47BA.template.json +36 -0
  46. package/test/integ.lamkin-existingVpc.js.snapshot/manifest.json +341 -0
  47. package/test/integ.lamkin-existingVpc.js.snapshot/tree.json +1463 -0
  48. package/test/integ.lamkin-newStreamFromProps.js +5 -2
  49. package/test/integ.lamkin-newStreamFromProps.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  50. package/test/integ.lamkin-newStreamFromProps.js.snapshot/cdk.out +1 -0
  51. package/test/integ.lamkin-newStreamFromProps.js.snapshot/integ.json +12 -0
  52. package/test/integ.lamkin-newStreamFromProps.js.snapshot/lamkin-newStreamFromProps.assets.json +32 -0
  53. package/test/integ.lamkin-newStreamFromProps.js.snapshot/lamkin-newStreamFromProps.template.json +231 -0
  54. package/test/integ.lamkin-newStreamFromProps.js.snapshot/lamkinnewStreamFromPropsIntegDefaultTestDeployAssertC2946F34.assets.json +19 -0
  55. package/test/integ.lamkin-newStreamFromProps.js.snapshot/lamkinnewStreamFromPropsIntegDefaultTestDeployAssertC2946F34.template.json +36 -0
  56. package/test/integ.lamkin-newStreamFromProps.js.snapshot/manifest.json +143 -0
  57. package/test/integ.lamkin-newStreamFromProps.js.snapshot/tree.json +414 -0
  58. package/test/integ.lamkin-newVpc.js +6 -2
  59. package/test/integ.lamkin-newVpc.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  60. package/test/integ.lamkin-newVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js +1 -0
  61. package/test/integ.lamkin-newVpc.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js +1 -0
  62. package/test/integ.lamkin-newVpc.js.snapshot/cdk.out +1 -0
  63. package/test/integ.lamkin-newVpc.js.snapshot/integ.json +12 -0
  64. package/test/integ.lamkin-newVpc.js.snapshot/lamkin-newVpc.assets.json +45 -0
  65. package/test/integ.lamkin-newVpc.js.snapshot/lamkin-newVpc.template.json +756 -0
  66. package/test/integ.lamkin-newVpc.js.snapshot/lamkinnewVpcIntegDefaultTestDeployAssert16AC3D59.assets.json +19 -0
  67. package/test/integ.lamkin-newVpc.js.snapshot/lamkinnewVpcIntegDefaultTestDeployAssert16AC3D59.template.json +36 -0
  68. package/test/integ.lamkin-newVpc.js.snapshot/manifest.json +245 -0
  69. package/test/integ.lamkin-newVpc.js.snapshot/tree.json +1051 -0
  70. package/test/integ.lamkin-newVpcFromProps.js +6 -2
  71. package/test/integ.lamkin-newVpcFromProps.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  72. package/test/integ.lamkin-newVpcFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/__entrypoint__.js +1 -0
  73. package/test/integ.lamkin-newVpcFromProps.js.snapshot/asset.dd5711540f04e06aa955d7f4862fc04e8cdea464cb590dae91ed2976bb78098e/index.js +1 -0
  74. package/test/integ.lamkin-newVpcFromProps.js.snapshot/cdk.out +1 -0
  75. package/test/integ.lamkin-newVpcFromProps.js.snapshot/integ.json +12 -0
  76. package/test/integ.lamkin-newVpcFromProps.js.snapshot/lamkin-newVpcFromProps.assets.json +45 -0
  77. package/test/integ.lamkin-newVpcFromProps.js.snapshot/lamkin-newVpcFromProps.template.json +692 -0
  78. package/test/integ.lamkin-newVpcFromProps.js.snapshot/lamkinnewVpcFromPropsIntegDefaultTestDeployAssert95FE0487.assets.json +19 -0
  79. package/test/integ.lamkin-newVpcFromProps.js.snapshot/lamkinnewVpcFromPropsIntegDefaultTestDeployAssert95FE0487.template.json +36 -0
  80. package/test/integ.lamkin-newVpcFromProps.js.snapshot/manifest.json +227 -0
  81. package/test/integ.lamkin-newVpcFromProps.js.snapshot/tree.json +946 -0
  82. package/test/integ.lamkin-noArguments.js +5 -2
  83. package/test/integ.lamkin-noArguments.js.snapshot/asset.c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf/index.mjs +15 -0
  84. package/test/integ.lamkin-noArguments.js.snapshot/cdk.out +1 -0
  85. package/test/integ.lamkin-noArguments.js.snapshot/integ.json +12 -0
  86. package/test/integ.lamkin-noArguments.js.snapshot/lamkin-noArguments.assets.json +32 -0
  87. package/test/integ.lamkin-noArguments.js.snapshot/lamkin-noArguments.template.json +229 -0
  88. package/test/integ.lamkin-noArguments.js.snapshot/lamkinnoArgumentsIntegDefaultTestDeployAssertC0CED4B2.assets.json +19 -0
  89. package/test/integ.lamkin-noArguments.js.snapshot/lamkinnoArgumentsIntegDefaultTestDeployAssertC0CED4B2.template.json +36 -0
  90. package/test/integ.lamkin-noArguments.js.snapshot/manifest.json +143 -0
  91. package/test/integ.lamkin-noArguments.js.snapshot/tree.json +412 -0
  92. package/test/integ.lamkin-existingLambda.expected.json +0 -229
  93. package/test/integ.lamkin-existingStream.expected.json +0 -231
  94. package/test/integ.lamkin-existingStreamWithCmk.expected.json +0 -297
  95. package/test/integ.lamkin-existingVpc.expected.json +0 -1065
  96. package/test/integ.lamkin-newStreamFromProps.expected.json +0 -231
  97. package/test/integ.lamkin-newVpc.expected.json +0 -671
  98. package/test/integ.lamkin-newVpcFromProps.expected.json +0 -557
  99. package/test/integ.lamkin-noArguments.expected.json +0 -229
@@ -1,671 +0,0 @@
1
- {
2
- "Resources": {
3
- "testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3": {
4
- "Type": "AWS::IAM::Role",
5
- "Properties": {
6
- "AssumeRolePolicyDocument": {
7
- "Statement": [
8
- {
9
- "Action": "sts:AssumeRole",
10
- "Effect": "Allow",
11
- "Principal": {
12
- "Service": "lambda.amazonaws.com"
13
- }
14
- }
15
- ],
16
- "Version": "2012-10-17"
17
- },
18
- "Policies": [
19
- {
20
- "PolicyDocument": {
21
- "Statement": [
22
- {
23
- "Action": [
24
- "logs:CreateLogGroup",
25
- "logs:CreateLogStream",
26
- "logs:PutLogEvents"
27
- ],
28
- "Effect": "Allow",
29
- "Resource": {
30
- "Fn::Join": [
31
- "",
32
- [
33
- "arn:",
34
- {
35
- "Ref": "AWS::Partition"
36
- },
37
- ":logs:",
38
- {
39
- "Ref": "AWS::Region"
40
- },
41
- ":",
42
- {
43
- "Ref": "AWS::AccountId"
44
- },
45
- ":log-group:/aws/lambda/*"
46
- ]
47
- ]
48
- }
49
- }
50
- ],
51
- "Version": "2012-10-17"
52
- },
53
- "PolicyName": "LambdaFunctionServiceRolePolicy"
54
- }
55
- ]
56
- }
57
- },
58
- "testlambdakinesisstreamsLambdaFunctionServiceRoleDefaultPolicyED972043": {
59
- "Type": "AWS::IAM::Policy",
60
- "Properties": {
61
- "PolicyDocument": {
62
- "Statement": [
63
- {
64
- "Action": [
65
- "ec2:CreateNetworkInterface",
66
- "ec2:DescribeNetworkInterfaces",
67
- "ec2:DeleteNetworkInterface",
68
- "ec2:AssignPrivateIpAddresses",
69
- "ec2:UnassignPrivateIpAddresses"
70
- ],
71
- "Effect": "Allow",
72
- "Resource": "*"
73
- },
74
- {
75
- "Action": [
76
- "xray:PutTraceSegments",
77
- "xray:PutTelemetryRecords"
78
- ],
79
- "Effect": "Allow",
80
- "Resource": "*"
81
- },
82
- {
83
- "Action": [
84
- "kinesis:ListShards",
85
- "kinesis:PutRecord",
86
- "kinesis:PutRecords"
87
- ],
88
- "Effect": "Allow",
89
- "Resource": {
90
- "Fn::GetAtt": [
91
- "testlambdakinesisstreamsKinesisStream11A82116",
92
- "Arn"
93
- ]
94
- }
95
- }
96
- ],
97
- "Version": "2012-10-17"
98
- },
99
- "PolicyName": "testlambdakinesisstreamsLambdaFunctionServiceRoleDefaultPolicyED972043",
100
- "Roles": [
101
- {
102
- "Ref": "testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3"
103
- }
104
- ]
105
- },
106
- "Metadata": {
107
- "cfn_nag": {
108
- "rules_to_suppress": [
109
- {
110
- "id": "W12",
111
- "reason": "Lambda needs the following minimum required permissions to send trace data to X-Ray and access ENIs in a VPC."
112
- }
113
- ]
114
- }
115
- }
116
- },
117
- "testlambdakinesisstreamsReplaceDefaultSecurityGroupsecuritygroupFB22266C": {
118
- "Type": "AWS::EC2::SecurityGroup",
119
- "Properties": {
120
- "GroupDescription": "lamkin-newVpc/test-lambda-kinesisstreams/ReplaceDefaultSecurityGroup-security-group",
121
- "SecurityGroupEgress": [
122
- {
123
- "CidrIp": "0.0.0.0/0",
124
- "Description": "Allow all outbound traffic by default",
125
- "IpProtocol": "-1"
126
- }
127
- ],
128
- "VpcId": {
129
- "Ref": "Vpc8378EB38"
130
- }
131
- },
132
- "Metadata": {
133
- "cfn_nag": {
134
- "rules_to_suppress": [
135
- {
136
- "id": "W5",
137
- "reason": "Egress of 0.0.0.0/0 is default and generally considered OK"
138
- },
139
- {
140
- "id": "W40",
141
- "reason": "Egress IPProtocol of -1 is default and generally considered OK"
142
- }
143
- ]
144
- }
145
- }
146
- },
147
- "testlambdakinesisstreamsLambdaFunction4348B6E4": {
148
- "Type": "AWS::Lambda::Function",
149
- "Properties": {
150
- "Code": {
151
- "S3Bucket": {
152
- "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
153
- },
154
- "S3Key": "c7dc0cc1b24bda1d2a5345f61897eee32184906649fdb1de93853c512e129dbf.zip"
155
- },
156
- "Environment": {
157
- "Variables": {
158
- "KINESIS_DATASTREAM_NAME": {
159
- "Ref": "testlambdakinesisstreamsKinesisStream11A82116"
160
- }
161
- }
162
- },
163
- "Handler": "index.handler",
164
- "Role": {
165
- "Fn::GetAtt": [
166
- "testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3",
167
- "Arn"
168
- ]
169
- },
170
- "Runtime": "nodejs18.x",
171
- "TracingConfig": {
172
- "Mode": "Active"
173
- },
174
- "VpcConfig": {
175
- "SecurityGroupIds": [
176
- {
177
- "Fn::GetAtt": [
178
- "testlambdakinesisstreamsReplaceDefaultSecurityGroupsecuritygroupFB22266C",
179
- "GroupId"
180
- ]
181
- }
182
- ],
183
- "SubnetIds": [
184
- {
185
- "Ref": "VpcisolatedSubnet1SubnetE62B1B9B"
186
- },
187
- {
188
- "Ref": "VpcisolatedSubnet2Subnet39217055"
189
- },
190
- {
191
- "Ref": "VpcisolatedSubnet3Subnet44F2537D"
192
- }
193
- ]
194
- }
195
- },
196
- "DependsOn": [
197
- "testlambdakinesisstreamsLambdaFunctionServiceRoleDefaultPolicyED972043",
198
- "testlambdakinesisstreamsLambdaFunctionServiceRole95206CF3",
199
- "VpcisolatedSubnet1RouteTableAssociationD259E31A",
200
- "VpcisolatedSubnet2RouteTableAssociation25A4716F",
201
- "VpcisolatedSubnet3RouteTableAssociationDC010BEB"
202
- ],
203
- "Metadata": {
204
- "cfn_nag": {
205
- "rules_to_suppress": [
206
- {
207
- "id": "W58",
208
- "reason": "Lambda functions has the required permission to write CloudWatch Logs. It uses custom policy instead of arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole with tighter permissions."
209
- },
210
- {
211
- "id": "W89",
212
- "reason": "This is not a rule for the general case, just for specific use cases/industries"
213
- },
214
- {
215
- "id": "W92",
216
- "reason": "Impossible for us to define the correct concurrency for clients"
217
- }
218
- ]
219
- }
220
- }
221
- },
222
- "testlambdakinesisstreamsKinesisStream11A82116": {
223
- "Type": "AWS::Kinesis::Stream",
224
- "Properties": {
225
- "RetentionPeriodHours": 24,
226
- "ShardCount": 1,
227
- "StreamEncryption": {
228
- "EncryptionType": "KMS",
229
- "KeyId": "alias/aws/kinesis"
230
- }
231
- }
232
- },
233
- "testlambdakinesisstreamsKinesisStreamGetRecordsIteratorAgeAlarmC4A0FF00": {
234
- "Type": "AWS::CloudWatch::Alarm",
235
- "Properties": {
236
- "AlarmDescription": "Consumer Record Processing Falling Behind, there is risk for data loss due to record expiration.",
237
- "ComparisonOperator": "GreaterThanOrEqualToThreshold",
238
- "EvaluationPeriods": 1,
239
- "MetricName": "GetRecords.IteratorAgeMilliseconds",
240
- "Namespace": "AWS/Kinesis",
241
- "Period": 300,
242
- "Statistic": "Maximum",
243
- "Threshold": 43200000
244
- }
245
- },
246
- "testlambdakinesisstreamsKinesisStreamReadProvisionedThroughputExceededAlarm9732E188": {
247
- "Type": "AWS::CloudWatch::Alarm",
248
- "Properties": {
249
- "AlarmDescription": "Consumer Application is Reading at a Slower Rate Than Expected.",
250
- "ComparisonOperator": "GreaterThanThreshold",
251
- "EvaluationPeriods": 1,
252
- "MetricName": "ReadProvisionedThroughputExceeded",
253
- "Namespace": "AWS/Kinesis",
254
- "Period": 300,
255
- "Statistic": "Average",
256
- "Threshold": 0
257
- }
258
- },
259
- "Vpc8378EB38": {
260
- "Type": "AWS::EC2::VPC",
261
- "Properties": {
262
- "CidrBlock": "10.0.0.0/16",
263
- "EnableDnsHostnames": true,
264
- "EnableDnsSupport": true,
265
- "InstanceTenancy": "default",
266
- "Tags": [
267
- {
268
- "Key": "Name",
269
- "Value": "lamkin-newVpc/Vpc"
270
- }
271
- ]
272
- }
273
- },
274
- "VpcisolatedSubnet1SubnetE62B1B9B": {
275
- "Type": "AWS::EC2::Subnet",
276
- "Properties": {
277
- "AvailabilityZone": "test-region-1a",
278
- "CidrBlock": "10.0.0.0/18",
279
- "MapPublicIpOnLaunch": false,
280
- "Tags": [
281
- {
282
- "Key": "aws-cdk:subnet-name",
283
- "Value": "isolated"
284
- },
285
- {
286
- "Key": "aws-cdk:subnet-type",
287
- "Value": "Isolated"
288
- },
289
- {
290
- "Key": "Name",
291
- "Value": "lamkin-newVpc/Vpc/isolatedSubnet1"
292
- }
293
- ],
294
- "VpcId": {
295
- "Ref": "Vpc8378EB38"
296
- }
297
- }
298
- },
299
- "VpcisolatedSubnet1RouteTableE442650B": {
300
- "Type": "AWS::EC2::RouteTable",
301
- "Properties": {
302
- "Tags": [
303
- {
304
- "Key": "Name",
305
- "Value": "lamkin-newVpc/Vpc/isolatedSubnet1"
306
- }
307
- ],
308
- "VpcId": {
309
- "Ref": "Vpc8378EB38"
310
- }
311
- }
312
- },
313
- "VpcisolatedSubnet1RouteTableAssociationD259E31A": {
314
- "Type": "AWS::EC2::SubnetRouteTableAssociation",
315
- "Properties": {
316
- "RouteTableId": {
317
- "Ref": "VpcisolatedSubnet1RouteTableE442650B"
318
- },
319
- "SubnetId": {
320
- "Ref": "VpcisolatedSubnet1SubnetE62B1B9B"
321
- }
322
- }
323
- },
324
- "VpcisolatedSubnet2Subnet39217055": {
325
- "Type": "AWS::EC2::Subnet",
326
- "Properties": {
327
- "AvailabilityZone": "test-region-1b",
328
- "CidrBlock": "10.0.64.0/18",
329
- "MapPublicIpOnLaunch": false,
330
- "Tags": [
331
- {
332
- "Key": "aws-cdk:subnet-name",
333
- "Value": "isolated"
334
- },
335
- {
336
- "Key": "aws-cdk:subnet-type",
337
- "Value": "Isolated"
338
- },
339
- {
340
- "Key": "Name",
341
- "Value": "lamkin-newVpc/Vpc/isolatedSubnet2"
342
- }
343
- ],
344
- "VpcId": {
345
- "Ref": "Vpc8378EB38"
346
- }
347
- }
348
- },
349
- "VpcisolatedSubnet2RouteTable334F9764": {
350
- "Type": "AWS::EC2::RouteTable",
351
- "Properties": {
352
- "Tags": [
353
- {
354
- "Key": "Name",
355
- "Value": "lamkin-newVpc/Vpc/isolatedSubnet2"
356
- }
357
- ],
358
- "VpcId": {
359
- "Ref": "Vpc8378EB38"
360
- }
361
- }
362
- },
363
- "VpcisolatedSubnet2RouteTableAssociation25A4716F": {
364
- "Type": "AWS::EC2::SubnetRouteTableAssociation",
365
- "Properties": {
366
- "RouteTableId": {
367
- "Ref": "VpcisolatedSubnet2RouteTable334F9764"
368
- },
369
- "SubnetId": {
370
- "Ref": "VpcisolatedSubnet2Subnet39217055"
371
- }
372
- }
373
- },
374
- "VpcisolatedSubnet3Subnet44F2537D": {
375
- "Type": "AWS::EC2::Subnet",
376
- "Properties": {
377
- "AvailabilityZone": "test-region-1c",
378
- "CidrBlock": "10.0.128.0/18",
379
- "MapPublicIpOnLaunch": false,
380
- "Tags": [
381
- {
382
- "Key": "aws-cdk:subnet-name",
383
- "Value": "isolated"
384
- },
385
- {
386
- "Key": "aws-cdk:subnet-type",
387
- "Value": "Isolated"
388
- },
389
- {
390
- "Key": "Name",
391
- "Value": "lamkin-newVpc/Vpc/isolatedSubnet3"
392
- }
393
- ],
394
- "VpcId": {
395
- "Ref": "Vpc8378EB38"
396
- }
397
- }
398
- },
399
- "VpcisolatedSubnet3RouteTableA2F6BBC0": {
400
- "Type": "AWS::EC2::RouteTable",
401
- "Properties": {
402
- "Tags": [
403
- {
404
- "Key": "Name",
405
- "Value": "lamkin-newVpc/Vpc/isolatedSubnet3"
406
- }
407
- ],
408
- "VpcId": {
409
- "Ref": "Vpc8378EB38"
410
- }
411
- }
412
- },
413
- "VpcisolatedSubnet3RouteTableAssociationDC010BEB": {
414
- "Type": "AWS::EC2::SubnetRouteTableAssociation",
415
- "Properties": {
416
- "RouteTableId": {
417
- "Ref": "VpcisolatedSubnet3RouteTableA2F6BBC0"
418
- },
419
- "SubnetId": {
420
- "Ref": "VpcisolatedSubnet3Subnet44F2537D"
421
- }
422
- }
423
- },
424
- "VpcFlowLogIAMRole6A475D41": {
425
- "Type": "AWS::IAM::Role",
426
- "Properties": {
427
- "AssumeRolePolicyDocument": {
428
- "Statement": [
429
- {
430
- "Action": "sts:AssumeRole",
431
- "Effect": "Allow",
432
- "Principal": {
433
- "Service": "vpc-flow-logs.amazonaws.com"
434
- }
435
- }
436
- ],
437
- "Version": "2012-10-17"
438
- },
439
- "Tags": [
440
- {
441
- "Key": "Name",
442
- "Value": "lamkin-newVpc/Vpc/FlowLog"
443
- }
444
- ]
445
- }
446
- },
447
- "VpcFlowLogIAMRoleDefaultPolicy406FB995": {
448
- "Type": "AWS::IAM::Policy",
449
- "Properties": {
450
- "PolicyDocument": {
451
- "Statement": [
452
- {
453
- "Action": [
454
- "logs:CreateLogStream",
455
- "logs:PutLogEvents",
456
- "logs:DescribeLogStreams"
457
- ],
458
- "Effect": "Allow",
459
- "Resource": {
460
- "Fn::GetAtt": [
461
- "VpcFlowLogLogGroup7B5C56B9",
462
- "Arn"
463
- ]
464
- }
465
- },
466
- {
467
- "Action": "iam:PassRole",
468
- "Effect": "Allow",
469
- "Resource": {
470
- "Fn::GetAtt": [
471
- "VpcFlowLogIAMRole6A475D41",
472
- "Arn"
473
- ]
474
- }
475
- }
476
- ],
477
- "Version": "2012-10-17"
478
- },
479
- "PolicyName": "VpcFlowLogIAMRoleDefaultPolicy406FB995",
480
- "Roles": [
481
- {
482
- "Ref": "VpcFlowLogIAMRole6A475D41"
483
- }
484
- ]
485
- }
486
- },
487
- "VpcFlowLogLogGroup7B5C56B9": {
488
- "Type": "AWS::Logs::LogGroup",
489
- "Properties": {
490
- "RetentionInDays": 731,
491
- "Tags": [
492
- {
493
- "Key": "Name",
494
- "Value": "lamkin-newVpc/Vpc/FlowLog"
495
- }
496
- ]
497
- },
498
- "UpdateReplacePolicy": "Retain",
499
- "DeletionPolicy": "Retain",
500
- "Metadata": {
501
- "cfn_nag": {
502
- "rules_to_suppress": [
503
- {
504
- "id": "W84",
505
- "reason": "By default CloudWatchLogs LogGroups data is encrypted using the CloudWatch server-side encryption keys (AWS Managed Keys)"
506
- }
507
- ]
508
- }
509
- }
510
- },
511
- "VpcFlowLog8FF33A73": {
512
- "Type": "AWS::EC2::FlowLog",
513
- "Properties": {
514
- "DeliverLogsPermissionArn": {
515
- "Fn::GetAtt": [
516
- "VpcFlowLogIAMRole6A475D41",
517
- "Arn"
518
- ]
519
- },
520
- "LogDestinationType": "cloud-watch-logs",
521
- "LogGroupName": {
522
- "Ref": "VpcFlowLogLogGroup7B5C56B9"
523
- },
524
- "ResourceId": {
525
- "Ref": "Vpc8378EB38"
526
- },
527
- "ResourceType": "VPC",
528
- "Tags": [
529
- {
530
- "Key": "Name",
531
- "Value": "lamkin-newVpc/Vpc/FlowLog"
532
- }
533
- ],
534
- "TrafficType": "ALL"
535
- }
536
- },
537
- "VpcKINESISSTREAMSC07D91B5": {
538
- "Type": "AWS::EC2::VPCEndpoint",
539
- "Properties": {
540
- "PrivateDnsEnabled": true,
541
- "SecurityGroupIds": [
542
- {
543
- "Fn::GetAtt": [
544
- "lamkinnewVpcKINESISSTREAMSsecuritygroup5C800E5E",
545
- "GroupId"
546
- ]
547
- }
548
- ],
549
- "ServiceName": {
550
- "Fn::Join": [
551
- "",
552
- [
553
- "com.amazonaws.",
554
- {
555
- "Ref": "AWS::Region"
556
- },
557
- ".kinesis-streams"
558
- ]
559
- ]
560
- },
561
- "SubnetIds": [
562
- {
563
- "Ref": "VpcisolatedSubnet1SubnetE62B1B9B"
564
- },
565
- {
566
- "Ref": "VpcisolatedSubnet2Subnet39217055"
567
- },
568
- {
569
- "Ref": "VpcisolatedSubnet3Subnet44F2537D"
570
- }
571
- ],
572
- "VpcEndpointType": "Interface",
573
- "VpcId": {
574
- "Ref": "Vpc8378EB38"
575
- }
576
- }
577
- },
578
- "lamkinnewVpcKINESISSTREAMSsecuritygroup5C800E5E": {
579
- "Type": "AWS::EC2::SecurityGroup",
580
- "Properties": {
581
- "GroupDescription": "lamkin-newVpc/lamkin-newVpc-KINESIS_STREAMS-security-group",
582
- "SecurityGroupEgress": [
583
- {
584
- "CidrIp": "0.0.0.0/0",
585
- "Description": "Allow all outbound traffic by default",
586
- "IpProtocol": "-1"
587
- }
588
- ],
589
- "SecurityGroupIngress": [
590
- {
591
- "CidrIp": {
592
- "Fn::GetAtt": [
593
- "Vpc8378EB38",
594
- "CidrBlock"
595
- ]
596
- },
597
- "Description": {
598
- "Fn::Join": [
599
- "",
600
- [
601
- "from ",
602
- {
603
- "Fn::GetAtt": [
604
- "Vpc8378EB38",
605
- "CidrBlock"
606
- ]
607
- },
608
- ":443"
609
- ]
610
- ]
611
- },
612
- "FromPort": 443,
613
- "IpProtocol": "tcp",
614
- "ToPort": 443
615
- }
616
- ],
617
- "VpcId": {
618
- "Ref": "Vpc8378EB38"
619
- }
620
- },
621
- "Metadata": {
622
- "cfn_nag": {
623
- "rules_to_suppress": [
624
- {
625
- "id": "W5",
626
- "reason": "Egress of 0.0.0.0/0 is default and generally considered OK"
627
- },
628
- {
629
- "id": "W40",
630
- "reason": "Egress IPProtocol of -1 is default and generally considered OK"
631
- }
632
- ]
633
- }
634
- }
635
- }
636
- },
637
- "Parameters": {
638
- "BootstrapVersion": {
639
- "Type": "AWS::SSM::Parameter::Value<String>",
640
- "Default": "/cdk-bootstrap/hnb659fds/version",
641
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
642
- }
643
- },
644
- "Rules": {
645
- "CheckBootstrapVersion": {
646
- "Assertions": [
647
- {
648
- "Assert": {
649
- "Fn::Not": [
650
- {
651
- "Fn::Contains": [
652
- [
653
- "1",
654
- "2",
655
- "3",
656
- "4",
657
- "5"
658
- ],
659
- {
660
- "Ref": "BootstrapVersion"
661
- }
662
- ]
663
- }
664
- ]
665
- },
666
- "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
667
- }
668
- ]
669
- }
670
- }
671
- }